有很多同学都搞不清楚 delete 与 delete [] 区别 ,
delete 只会调用一次析构函数,而 delete[] 会调用每一个成员的析构函数。
“当 delete 操作符用于数组时,它为每个数组元素调用析构函数,然后调用 operatordelete 来释放内存。” delete 与 New 配套, delete [] 与 new [] 配套
今天黄老师写个例子,你们保证可以看懂:
#include <iostream>
using namespace std;
int n = 0;
class a
{
private:
int x;
public:
a()
{
x = ++n;
cout << "\n构造类 a 的对象 " << x;
}
~a()
{
cout << "\n析构类 a 的对象 " << x;
}
};
void main(int argc, char* argv[])
{
/*
delete 与 delete [] 区别
delete 只会调用一次析构函数,而 delete[] 会调用每一个成员的析构函数。
“当 delete 操作符用于数组时,它为每个数组元素调用析构函数,然后调用 operatordelete 来释放内存。”
delete 与 New 配套, delete [] 与