Effective C++ 规则06:若不想使用编译器自动生成的函数,就应该明确拒绝

  在有些类中,我们不希望它的对象被拷贝或者被赋值给其他的对象。这个时候就可以考虑拒绝编译器自动生成拷贝构造函数和赋值运算符。
  编译器自动生成的函数都是public。为阻止这些函数被创建出来,得自行声明它们,但这里被没有需求使你必须将它们声明为public,因此可以声明为private,并且不定义它们。这样当拷贝该对象时编译器会报错,友元函数调用它们时连接器会报错。iostream程序库中就是这么干的。

Guess you like

Origin blog.csdn.net/xiaoan08133192/article/details/119551451