问题
C++ 中的类可以定义多个对象,那个对象构造的顺序是怎样的?
对于局部对象
当程序执行流到达对象的定义语句时进行构造
下面程序中的对象构造顺序是什么?
对于堆对象
当程序执行流到达 new 语句时创建对象
使用 new 创建对象将自动触发构造函数的调用
下面程序中的对象构造顺序是什么?
对于全局对象
对象的构造顺序是不确定的
不同的编译器使用不同的规则确定构造顺序
小结
局部对象的构造顺序依赖于程序的执行流
堆对象的构造顺序依赖于 new 的使用顺序
全局对象的构造顺序是不确定的