以下を考えると:
class D { ... };
struct C
{
D d;
int a;
C() : a(5) {}
};
コンパイラは初期化するコードを生成しますが、初期化されるのC::d
はd
前後a
ですか? それとも実装定義ですか?または未定義?
私の初期化子がデータメンバーの順序と一致しないと言うコンパイラを少なくとも1つ見たので、私は尋ねています。
以下を考えると:
class D { ... };
struct C
{
D d;
int a;
C() : a(5) {}
};
コンパイラは初期化するコードを生成しますが、初期化されるのC::d
はd
前後a
ですか? それとも実装定義ですか?または未定義?
私の初期化子がデータメンバーの順序と一致しないと言うコンパイラを少なくとも1つ見たので、私は尋ねています。