std :: array <char,n =“”>到std :: string </char,>

时间:2012-06-05 15:36:08

标签: c++ arrays string c++11 std

std::array<char, N>转换为std::string的最佳方式是什么?

我尝试过生成模板方法,但没有运气。我认为我的C ++技能不是最新的。在C ++中有这种惯用方法吗?

2 个答案:

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