在c++中,释放new分配的内存空间时,使用delete和delete[]是不是有区别?详细说明下
在c++中,释放new分配的内存空间时,使用delete和delete[]是不是有区别?详细说明下
日期:2018-03-04 20:13:22 人气:1
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。
楼主的这个问题提得很好。很多人注意到了这个问题,但是却不清楚为什么要这样做,不这样做行不行。
关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。
对于 (1),上面提供的程序已经证明了 delete[] 和 delete 是等同的。但是对于 (2)