int main()
{
std::stringstream s1("This is my string.");
std::stringstream s2 = s1; // error, copying not allowed
}
我找不到为什么我不能复制stringstream的原因。你能提供一些参考资料吗?
发布于 2011-05-16 04:03:34
为了直接回答这个问题,您不能复制,因为stringstream类的复制构造函数被声明为私有的。
它可能是以这种方式声明的,因为在大多数情况下复制流似乎很笨拙,所以没有一个流类有公共的复制构造函数。
发布于 2011-05-17 00:04:06
如上所述,您不能复制流,但如果需要,您可以复制数据:
std::stringstream from;
std::stringstream to;
std::copy(std::istream_iterator<char>(from), std::istream_iterator<char>(),
std::ostream_iterator<char>(to));
https://stackoverflow.com/questions/6010864
复制相似问题