Effective C++ Item 6 ― 2009年07月20日 14時25分43秒
- コンパイラが自動生成する関数を呼べないようにするには、目的の関数を private で宣言する。実装は必要ない。
定義が無く宣言のみでも、呼ばれない関数なのでリンクするのには必要になる事は無い。
class Uncopyable{
protected:
Uncopyable(){}
~Uncopyable(){}
private:
Uncopyable(const Uncopyable&);
Uncopyable& operator=(const Uncopyable&);
};
また、継承を用いることも出来る。
class Something: private Uncopyable{
};
最近のコメント