如何为具有std :: stringstream成员的类编写复制构造函数?

qua*_*ana 5 c++ stl

如果我有这样的类,我该如何编写复制构造函数?

#include <stringstream>

class MyClass {
  std::stringstream strm;
public:
  MyClass(const MyClass& other){
    //...
  }
  std::string toString() const { return strm.str(); }
};
Run Code Online (Sandbox Code Playgroud)

std :: stringstream本身没有复制构造函数,所以我不能使用这样的初始化列表:

MyClass(const MyClass& other): strm(other.strm) {}
Run Code Online (Sandbox Code Playgroud)

ogn*_*ian 6

你可以试试这个:

MyClass(const MyClass& other): strm(other.strm.str()) {}
Run Code Online (Sandbox Code Playgroud)