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());