コピーの構造と割り当てを禁止
C++実装では、クラスによってはユニークなインスタンスのみを保持することが望ましい場合があるため、設計上はコピー構造と付与を禁止します.
muduoには陳碩大神がよく使われていますが、実現も簡単です.
NoCopyableはコピー構造と付与関数を私有化し,A私有はNoCopyableを継承し,自然にNoCopyableの両方のインタフェースも継承し(実現する必要はない),これが役に立つ.
自分でテストして、
muduoには陳碩大神がよく使われていますが、実現も簡単です.
#include
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;
}
NoCopyableはコピー構造と付与関数を私有化し,A私有はNoCopyableを継承し,自然にNoCopyableの両方のインタフェースも継承し(実現する必要はない),これが役に立つ.
自分でテストして、