【问题标题】:C++ member variable initializaton order [duplicate]C ++成员变量初始化顺序[重复]
【发布时间】:2023-03-24 08:41:02
【问题描述】:

你能告诉我对象的成员变量的初始化顺序(构造函数调用)以及初始化列表是否对其有影响吗?例如,如果我实例化:

 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 调试器,我的测试建议使用后者,但我想知道我是否可以通过初始化列表来影响它。

问候

【问题讨论】:

标签: c++


【解决方案1】:

它们按照声明它们的顺序完成,与初始化列表无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多