建议将字符串转换为数组的方法是什么?我正在寻找类似的东西:
template<class T, size_t N, class V>
std::array<T, N> to_array(const V& v)
{
assert(v.size() == N);
std::array<T, N> d;
std::copy(v.begin(), v.end(), d.data());
return d;
}
Run Code Online (Sandbox Code Playgroud)
C ++ 11或Boost是否提供类似的信息?别人怎么做?每次我在项目中需要此功能时,似乎都不得不自己复制/粘贴该功能,这很愚蠢。
这似乎很好。C++11 中没有这样的东西,我认为 Boost 中也没有。如果你不想把它粘贴到所有地方,你可以把它放在一个标题#include中。
只需调用:
std::copy(v.begin(), v.end(), d.data());
Run Code Online (Sandbox Code Playgroud)
是的方式将字符串转换为数组。我认为将其包装到专用的“实用程序”函数中没有任何优势。
此外,除非编译器对其进行优化,否则您的函数可能会降低性能:返回数组时将第二次复制数据。