C++中的new和delete

1. new用于动态创建对象。一般用法:

int *i = new int(128);
ClassX * c = new ClassX;

如果new的时候没有指定初始化参数,那么会调用默认构造函数来完成对象初始化。

2. new也可以用于创建动态数组。

一般用法:

ClassX [] array = new ClassX[10];

3. new可以用于创建动态的const对象:

const ClassX * p = new const ClassX;

4. delete用于释放new创建的对象。一般用法:

delete i;
delete c;

5. 释放动态数组的时候,delete用法:

delete [] array;

6. 释放const对象。与一般释放方法没有区别:

delete p;