对象的构造顺序

  • 问题:C++中的类可以定义多个对象,那么对象构造的顺序时怎么样的呢??
  • 对于局部对象,当程序执行流到达对象的定义语句时进行构造
 
  • 对于堆对象
  1. 当程序执行流到达new语句时创建对象
  2. 使用new创建对象将自动触发构造函数的调用
 
  • 对于全局对象
  1. 对象的构造顺序是不确定
  2. 不同的编译器使用不同的规则确定构造顺序
  3. 在当今软件开发中,尽可能不使用全局变量
  • 小结
  1. 局部对象的构造顺序依赖于程序的执行流
  2. 堆对象的构造顺序依赖于new的使用顺序
  3. 全局对象的构造顺序是不确定的
 
posted @ 2020-01-10 17:21  认真做个普通人  阅读(385)  评论(0编辑  收藏  举报