C++构造函数、析构函数执行顺序详解

构造函数执行顺序

  1. 调用虚基类构造函数(如有多个则按虚基类声明顺序从左到右)
  2. 调用基类构造函数(如有多个则按基类声明顺序从左到右)
  3. 设定虚函数表指针值(virtual table pointer)
  4. 执行初始化列表、调用成员变量构造函数(按成员变量声明顺序)
  5. 执行自身构造函数

析构函数执行顺序(与构造函数相反)

  1. 执行自身析构函数
  2. 调用成员变量析构函数(与成员声明顺序相反)
  3. 调整虚函数表指针值
  4. 调用基类析构函数(从右到左)
  5. 调用虚基类析构函数(从右到左)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容