これは、次のようなコンストラクターでクラスを作成するとどうなるかを正しく理解するための簡単な質問です。
class A
{
public:
A() {}
};
デフォルトのコンストラクターは既に定義されているため生成されないことはわかっていますが、コピーおよび代入コンストラクターはコンパイラによって生成されます。つまり、これを防ぐためにプライベート コピー コンストラクターとプライベート代入演算子を宣言する必要がありますか?
class A
{
private:
// needed to prevent automatic generation?
A( const A& );
A& operator=( const A& );
public:
A() {}
};