简述delete/delete[]的区别:
(1)当通过new[]为数组分配空间时,如果数组元素是自定义类型,必须通过delete[]释放整个数组空间,因为delete[]会逐个调用数组中每个元素对象的析构函数,只有这样才能将数组元素内部申请的资源全部释放,否则只调用第一个元素的析构函数,其它对象内部成员申请的空间不会释放。
(2)当数组元素的基本类型时,delete和delete[]都可以释放数组空间。
简述delete/delete[]的区别:
(1)当通过new[]为数组分配空间时,如果数组元素是自定义类型,必须通过delete[]释放整个数组空间,因为delete[]会逐个调用数组中每个元素对象的析构函数,只有这样才能将数组元素内部申请的资源全部释放,否则只调用第一个元素的析构函数,其它对象内部成员申请的空间不会释放。
(2)当数组元素的基本类型时,delete和delete[]都可以释放数组空间。