当我们想要构造多个对象时,我们只需要在类型后面加上:[个数],就可以了,如:
int* pia = new int[10];
默认情况下,动态分配的对象是默认初始化的,这意味着内置类型或组合类型的对象的值将是未定义的...,如果我们想要在动态分配时就直接将空间初始化,则需要使用传统的构造方式(使用圆括号),如:
int* p = new int(5); //p指向的对象的值为5
当我们想要一次性初始化数组的多个对象时...当我们要释放的是动态开辟的多个对象时,我们只需要在delete后面加上:[],就可以了,如:
int* pia = new int[10];
delete[] pia;
注意:申请和释放单个元素的空间...对于最后一点,我们拿之前写过的Date类来验证一下:
除此之外,还需要注意的是,当我们使用new/delete来动态开辟/销毁类对象的数组时,new和delete...假设程序的设计错误导致这部分内存没有被释放,那么以后这部分空间将无法再被使用,就会产生Heap Leak。