C++ 将字符向量转换为字符串的最快方法
我有一个字符向量(实际上是无符号字符):C++ 将字符向量转换为字符串的最快方法,c++,string,c++11,vector,std,C++,String,C++11,Vector,Std,我有一个字符向量(实际上是无符号字符): 但是Compiler说这种转换是不可能的。我将提供所有帮助。您可以使用运算符+=执行此连接 std::vector<unsigned char> vec {'a', 'b', 'c', 'd'}; std::string requestedName; for (auto letter : vec) requestedName += letter; 您可以使用运算符+=执行此连接 std::vector<unsigned cha
但是Compiler说这种转换是不可能的。我将提供所有帮助。您可以使用运算符
+=
执行此连接
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName;
for (auto letter : vec)
requestedName += letter;
您可以使用运算符
+=
执行此连接
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName;
for (auto letter : vec)
requestedName += letter;
我看不出有任何理由使用不必要的低效连接方法。@juanchopanza我也看不到,这就是我建议使用构造函数的原因。我刚才注意到,
操作符+=
将修复他们试图将附加到字符串的方式。我看不出有任何理由使用效率不高的连接方法。@juanchopanza我也不能,这就是我建议使用构造函数的原因。我刚才注意到,operator+=
将修复他们试图将附加到字符串的方式。具有相同的答案不会使问题重复。这个问题是关于效率的。有相同的答案不会使问题重复。这个问题是关于效率的。
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName;
for (auto letter : vec)
requestedName += letter;
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName{ vec.begin(), vec.end() };