为什么C++强制成员变量的初始化按照声明的顺序进行



我知道在C++中,类头中成员的声明定义了初始化顺序。你能告诉我C++为什么选择这种设计吗?强制执行初始化顺序而不是遵循初始化器列表有什么好处吗?

构造函数可以重载,而析构函数不能重载。如果可以为不同的构造函数以不同的顺序初始化数据成员,那么析构函数不能保证以与数据成员构造相反的顺序对数据成员执行销毁(对于由不同构造函数构造的对象(。

相关内容

  • 没有找到相关文章

最新更新