C++实现时有时会希望有些类只保持一份独一无二的实例,因此要在设计上禁止拷贝构造和赋值。
muduo里陈硕大神就经常这样用,不过实现也很简单:
#include <iostream>
class NoCopyable{
protected:
NoCopyable(){
}
virtual ~NoCopyable(){
}
private:
NoCopyable(const NoCopyable&);
const NoCopyable& operator=(const NoCopyable&);
};
class A : private NoCopyable{
};
int main(){
A a;
A b;
a = b;
}可以自己测试下,
原文:http://blog.csdn.net/boyxiaolong/article/details/22466071