除了(显而易见的)首先构建一个C样式字符串,然后使用它来创建std::string之外,有没有更快/替代/“更好”的方法来从字符向量初始化字符串?
发布于 2011-02-25 16:46:33
最好的方法是使用下面的构造函数:
template<class InputIterator> string (InputIterator begin, InputIterator end);
这将导致类似这样的结果:
std::vector<char> v;
std::string str(v.begin(), v.end());
发布于 2011-02-25 16:43:16
我想你可以这样做
std::string s( MyVector.begin(), MyVector.end() );
其中MyVector是std::vector。
发布于 2013-09-11 23:52:22
使用C++11,您可以执行std::string(v.data())
,或者,如果向量的末尾不包含'\0'
,则可以执行std::string(v.data(), v.size())
。
https://stackoverflow.com/questions/5115166
复制相似问题