new delete
动态的分配内存和释放内存,都是操作符可以重载,不是函数,但是可以调用构造函数和析构函数
- new动态分配单个空间
- new[]动态分配一个数组
- delete释放由new分配的单个空间
- delete[]释放new[]分配的一个数组
delete处理单个对象,会先调用析构函数,释放它所占资源,然后释放它所占内存空间,而delete[]会调用每一个数组对象的析构函数
// 使用方法:new 数据类型,用于动态分配一个数据类型大小的空间
int *p = new int;为指针分配了一个int型的空间
double *p = NULL;//初始化为NULL的指针
p = new double;//为指针变量请求内存,定义一个指向double类型的指针,然后请求内存
//建议检查new运算符是否返回NULL指针,采取以下操作
double *p = NULL;
if(!(p = new double))