Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将字符向量转换为字符串的最快方法_C++_String_C++11_Vector_Std - Fatal编程技术网

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