你能告诉我一个对象的成员变量初始化的顺序(构造函数调用)以及初始化列表是否对它有影响?例如,如果我实例化:
class Meta
{
public:
Meta() : a(), b(),c(),d()
{
}
private:
SomeObject d;
SomeObject c;
SomeObject b;
SomeObject a;
};
成员变量是按照a,b,c,d(如初始化列表中)或d,c,b,a(它们在类中定义的顺序)的顺序初始化的吗?我正在尝试使用Visual Studio 2012调试器,我的测试建议后者,但我想知道我是否可以通过初始化列表来影响它。
此致
答案 0 :(得分:2)
无论初始化列表如何,它们都按照它们声明的顺序完成。