转载来源:http://www.cnblogs.com/charley_yang/archive/2010/12/08/1899982.html
C++中的delete和delete[]的区别:
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。
关于 new[] 和 delete[],其中又分为两种情况:
(1) 为基本数据类型分配和回收空间;
(2) 为自定义类型分配和回收空间。
请看下面的程序。
#include <iostream>;
using namespace std;
class T
{
public:
T()
{
cout << "构造函数......" << endl;
}
~T()
{
cout << "......析构函数" << endl;
}
};
int main()
{
const int NUM = 3;
T* p1 = new T[NUM];
cout << p1 << endl;
delete[] p1;
//delete p1;
T* p2 = new T[NUM];
cout << p2 << endl;
delete[] p2;
}
----------------------------