条款06:若不想使用编译器自动生成的函数,就应该明确拒绝
有时候编译器会自动认可一些行为,也许这些行为不为你所接受,然而忽略很很容易理解的,比如对象拷贝。
我目前常常使用的办法是只声明不实现,这里给出了一个新的办法:
Class Uncopyable
{
protected:
Uncopyable(){}
~Uncopyable(){}
private:
Uncopyable(){const Uncopyable &};
Uncopyable& operator =(){const Uncopyable &};
}
如果想要解决上述问题,私有继承这个函数就可以了。