鉴于以下情况:
class D { ... };
struct C
{
D d;
int a;
C() : a(5) {}
};
编译器将生成初始化代码C::d
,但它是d
在之前还是之后初始化a
?还是定义了实现?还是未定义?
我之所以问,是因为我至少看到一个编译器说我的初始化程序与数据成员的顺序不匹配。
鉴于以下情况:
class D { ... };
struct C
{
D d;
int a;
C() : a(5) {}
};
编译器将生成初始化代码C::d
,但它是d
在之前还是之后初始化a
?还是定义了实现?还是未定义?
我之所以问,是因为我至少看到一个编译器说我的初始化程序与数据成员的顺序不匹配。