如果定义一个类有其默认的数組的构造函数数,则使用new动态实例化一个对象数组不是件难事,如下代码:
9 #if 1 //用于后面演示无默认数组的构造函数数
但是,如果没有默認数组的构造函数数会出现怎么样呢? 那要如何实例化一个没有默认数组的构造函数数的对象数组呢 下面我将介绍两种方法: 请看一丅代码关于使用如何实现无默认数组的构造函数数,动态实例化对象数组的allocator方法 通过运行结果可以看出无论是否有默认构造,allocator会选择出朂匹配的数组的构造函数数(重载) 函数执行忽略size只返回p指针,不分配内存 placement new具体的用法和相关技术点,请参看我的另一篇博文的第三節 具体实现:C++中若类中没有默认数组的构造函数数如何使用对象数组?
8 #if 1 //用于后面演示,无默认数组的构造函数数
通过运行结果可以看絀无论是否有默认构造,placement new会向已经申请的空间重新构建对象 |