Tagged: C/C++

C++ 的 delete 和 delete [] 简明解释

C++ 的 delete 和 delete [] 简明解释

不少程序员菜鸟(其实包括不少老鸟)对于 delete 和 delete[] 的区别不甚了了,其实也没关系,记得 new 的就用delete 删, new [] 就用 delete [] 删就对了。 那么两者的区别到底在哪里呢? 说白了很简单,数组就是一块连续内存块, delete 这个命令就是删除一个连续内存块,所以无论 delete 的参数是什么,不管他是什么指针,这个内存块会被删除是毋庸置疑的。而 delete[] 相比 delete 会多做一件事,就是在删除这个内存块前,析构每个元素。 所以,对于简单数组,比如 char, int, float 数组,调用 delete, 还是 delete[] 不会有什么区别。 但是对于对象数组,这个就大不同了,你必须用delete...