一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。希望本文可以对你有所帮助
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。
请看下面的程序。
代码如下:
#include ;
using namespace std;
using namespace std;
class T {
public:
T() { cout << "constructor" << endl; }
~T() { cout << "destructor" << endl; }
};
int main()
{
const int NUM = 3;
T* p1 = new T[NUM];
cout << hex << p1 << endl;
// delete[] p1;
delete p1;
T* p2 = new T[NUM];
来源gaodai.ma#com搞#代!码网
cout << p2 << endl;
delete[] p2;
}
以上就是C++中delete和delete[]的区别说明的详细内容,更多请关注gaodaima搞代码网其它相关文章!