笔试题之一:delete和delete[]的区别是什么呢?
如果ptr代表一个用new申请的内存返回的内存空间地址,即所谓的指针,那么:
delete ptr 代表用来释放内存,且用来释放ptr指向的内存。
delete []ptr用来释放ptr所指向的内存,还逐一调用数组中每个对象的destructor。
对于像int / char / int * /struct等等简单数据类型,由于对象没有destructor,所以用delete和delete[]是一样的,但是如果是对象数组就不同了。