申请对象数组时,申请一个数组元素时,为什么调用两次析构函数

来源:百度知道 编辑:UC知道 时间:2024/05/27 17:29:11

Object *temp = new Object[1];
这样?
参照
int *A = new int[1];
这里是A[0]和A[1]两个元素

你如果直接使用temp.function()来访问,自然是使用的temp[0]的方法,所以隐藏了你创建了两个对象的事实,但是在你delete []temp;的时候,会调用temp[0]和temp[1]的析构函数各一次

没有具体代码,无法判断。
另外,楼上的需要好好复习一下C++了,int[1]只有一个元素int[0],int[1]是越界的。