猿问

为什么不允许复制字符串?

为什么不允许复制字符串?

int main(){
   std::stringstream s1("This is my string.");
   std::stringstream s2 = s1; // error, copying not allowed}

我找不出为什么我不能复制弦流的原因。你能提供一些参考资料吗?


繁星点点滴滴
浏览 949回答 3
3回答

哆啦的时光机

要直接回答这个问题,您不能复制,因为字符串流类的复制构造函数被声明为私有。可能是这样声明的,因为在大多数情况下复制流似乎很尴尬,所以流类中没有一个具有公共副本构造函数。

慕妹3242003

如上所述,您不能复制流,但如果需要,可以复制数据:std::stringstream&nbsp;from;std::stringstream&nbsp;to;std::copy(std::istream_iterator<char>(from),&nbsp;std::istream_iterator<char>(), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::ostream_iterator<char>(to));
随时随地看视频慕课网APP
我要回答