C++:为什么一个是有3个元素初始化,一个只有2个元素初始化?
array1
是大小为3的CTest
对象数组,所以初始化时要创建3个CTest
对象,其中头两个对象按初始化列表里的表达式来构造,即调用构造函数(1)和(2),第三个对象由于初始化列表缺省就按默认构造函数来构造。pArray
是一个大小为3的CTest*
类型的指针数组,初始化时创建3个指针,其中头两个指针按照初始化列表里的表达式赋初值,即动态创建两个CTest
对象,分别调用构造函数(1)和(2),而第三个指针由于初始化列表缺省被初始化为0