C++ primer plus如图,说对象数组如果按如下方法初始化,那么原理是先使用默认构造函数初始化,然后使用Stock临时对象进行复制操作,我去,我测了一下发现根本不需要默认构造函数???这本书什么鬼?
STKS是4,书上黄色标注的就是对右侧代码的解释,右侧代码4个对象都显式初始化了
这书似乎本身就是错的,如果是临时变量,我又没定义复制构造函数,使用默认复制构造函数复制,那么new分配的内存临时的对象和定义的对象共用,那么临时的用完了自动析构,定义的对象访问这段内存将不安全。
我觉得你似乎断章取义了这段话的意思。这段话应该和上面的那段话连起来看,也就是上面所说的第二种情况,数组长度大于初值表元素个数,此时需要提供默认构造函数。
本回答被提问者和网友采纳