struct A1
{
int n;
};
struct A2
{
int n;
A2(){}
};
struct A3
{
int n;
A3() = default;
};
質問1:C++標準保証クラスA1
、A2
、A3
は互いに完全に同等暗黙のctor、no-parameter-empty-body ctorと明示的なデフォルトctorの間で同等ですか?
をしているのか?
質問2:
A1 a1;
A2 a2;
A3 a3;
コンパイラは、C++標準に従ってa1.n
、a2.n
、a3.n
をゼロ初期化しませんか?
あなたはそれが何を意味するかわかりません。最初のものは集計であり、2番目のものは集計ではありません。 –