【发布时间】:2012-06-05 02:24:14
【问题描述】:
目前,我从std::ostringstream 中设置std::vector<char> 的值如下:
void
foo(std::vector<char> &data, std::stringstream &stream) {
data = std::vector<char>(stream.str().begin(), stream.str().end());
}
我想知道是否有更有效的方法可以在 C++ 中使用 STL 执行此操作,或者我在此处给出的方法是否被认为合适?改用std::stringstream 会更好吗?
【问题讨论】:
-
我不确定这样做的效率如何,但它是不正确的。对
.str()的两次调用返回不同的对象。 -
感谢您指出该错误,我以为我得到的是参考而不是 str() 的副本。
标签: c++ stl stdvector stringstream ostringstream