-
作用
- 代替C语言中malloc和free更好地进行动态分配内存和释放内存
- 动态分配内存和释放动态内存
-
基本形式
- 指针变量名 = new 类型;
- delete 指针变量名;
-
有哪些优点
-
对new和delete的其它几点说明
int *p = new int; //定义一个指针变量并动态分配内存将首地址赋给它 int *p = new int(9);//定义分配内存并初始化 int *arry = new int[length] ;// int *arry = new int[length][length];//多维数组必须提供所有维的大小,,第一维可以为任意合法正整数表达式 delete p;//释放分配内存空间 delete []arry;//释放数组存储区
根据new分配时编译系统返回值可以进行分配是否成功检查:
#include<iostream> using namespace std; int main(){ int *p = new int; if(!p){ cout<<"allocation failure\n"; return 1; } *p = 20; cout<<*p; delete p; return 0; }