从std::array<char, N>
转换为std::string
的最佳方式是什么?
我尝试过生成模板方法,但没有运气。我认为我的C ++技能不是最新的。在C ++中有这种惯用方法吗?
答案 0 :(得分:39)
我不会说这是“最佳方式”,但方式是使用std::string
的{{3}}:
std::array<char, 10> arr;
... // fill in arr
std::string str(std::begin(arr), std::end(arr));
答案 1 :(得分:14)
如果数组中有一个以空字符结尾的字符串,那么:
std::array<char, 4> arr = {'a','b','c',0};
std::string str(arr.data());