条款06:若不想使用编译器自动生成的函数,就该明确拒绝


我想也可以这样防止copy构造、copy assign 操作符

class Uncopyable{
public:
    Uncopyable(){}
    ~Uncopyable(){}
private:
    Uncopyable(const Uncopyable& a);//只声明,不定义  防止 copy 构造
    Uncopyable& operator=(const Uncopyable& a);//只声明,不定义  防止 赋值
};

class AAA{
private :
    Uncopyable uncopyable;//防止copy构造和copy assign操作符
public:
    int data;
};

相关