27項 暗黙のうちに生成される不要なメンバ関数は、明示的に使用を禁止しよう

暗黙のうちに生成される不要なメンバ関数は、明示的に使用を禁止しよう


コピーコンストラクタ、代入演算子の暗黙な作成を禁止したい場合は、禁止したい関数のprivate宣言を行います。

class C
{
private:
	C &operator=(const C &rhs);
	C(const C &rhs);
};

ここで、宣言だけを行い、関数を定義しないことが重要です。
関数を定義してしまうと、メンバ関数やフレンド関数から呼び出されてしまう可能性があるからです。