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