首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从std::vector<char>构造std::string?

如何从std::vector<char>构造std::string?
EN

Stack Overflow用户
提问于 2011-02-25 16:38:54
回答 7查看 125K关注 0票数 130

除了(显而易见的)首先构建一个C样式字符串,然后使用它来创建std::string之外,有没有更快/替代/“更好”的方法来从字符向量初始化字符串?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-02-25 16:46:33

最好的方法是使用下面的构造函数:

代码语言:javascript
复制
template<class InputIterator> string (InputIterator begin, InputIterator end);

这将导致类似这样的结果:

代码语言:javascript
复制
std::vector<char> v;
std::string str(v.begin(), v.end());
票数 222
EN

Stack Overflow用户

发布于 2011-02-25 16:43:16

我想你可以这样做

代码语言:javascript
复制
std::string s( MyVector.begin(), MyVector.end() );

其中MyVector是std::vector。

票数 46
EN

Stack Overflow用户

发布于 2013-09-11 23:52:22

使用C++11,您可以执行std::string(v.data()),或者,如果向量的末尾不包含'\0',则可以执行std::string(v.data(), v.size())

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5115166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档