说我有一个表格
class MyClass
{
int a = 1;
int b;
int c;
int d = 4;
MyClass() : b(2)
{
c = 3;
}
}
a,b,c,d
的分配顺序是什么?现在我肯定(从较旧的C ++)知道b
将在c
之前分配。但是关于后者的其他人呢?
答案 0 :(得分:0)
来自[class.base.init]:
非静态数据成员按照在类定义中声明的顺序进行初始化 (再次不管mem-initializers的顺序如何)。
在这种情况下,排序等同于:
int a = 1;
int b = 2;
int c;
int d = 4;
c = 3;