Ответ 1
Я не буду говорить, что это "лучший способ", но использовать std::string
:
std::array<char, 10> arr;
... // fill in arr
std::string str(std::begin(arr), std::end(arr));
Каков наилучший способ преобразования из std::array<char, N>
в std::string
?
Я попытался создать шаблонный метод, но не повезло. Я думаю, что мои навыки на С++ просто не до нуля. Есть ли идиоматический способ сделать это в С++?
Я не буду говорить, что это "лучший способ", но использовать std::string
:
std::array<char, 10> arr;
... // fill in arr
std::string str(std::begin(arr), std::end(arr));
Если в массиве есть строка с нулевым завершением, поэтому:
std::array<char, 4> arr = {'a','b','c',0};
std::string str(arr.data());