用delete删除动态创建的数组的一个疑问

来源:百度知道 编辑:UC知道 时间:2024/06/25 12:18:57
如果我
int *a = new int[10] ;
...
...
现在我想
delete a ;
还是应该
delete []a ; ???
还望前辈们多唠叨两句....

一般是后者,这样才能一次性释放在new时所分配的所有数组空间。
如果是前者,则只释放了a[0]一个int大小的空间。极少情况下会这么使用,例如你将a[1]及后面的变量在其它地方进行了引用,并且有对应的释放途径。