c++的申请空间的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:44:17
#include <iostream.h>
void main()
{
int *p;
p=new int [10];
delete [10] p;

}

#include <iostream.h>

void main()

{

int *p

p=new int [10];
delete []p;

}

我只想知道这2个区别在哪里,不要说没意思之类的??

释放动态分配的数组存储区时,可使用如下的delete格式:
delete []p;
无须指出空间大小,但老版本的C++要求在delete的方括号中标出数字,以告诉C++要释放多少个元素所占的空间。

所以在这里,方括号里面的数字要不要无所谓。但是“delete p;”和“delete []p”是有区别的。前者只释放一个,后者释放一组。