c++申请创建和删除动态内存关键字

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:28:28

new
delete

1)new可用来生成动态无名变量,
int *p[10]=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量
int **p=new int* [row]; //row是二维数组的行,p是指向一个指针数组的指针

(2)使用完动态无名变量后应该及时释放,要用到 delete 运算符
delete p; //释放单个变量
delete []p; //释放数组变量(不论数组是几维)
相比于一般的变量声明,使用new和delete 运算符可方便的使用变量.

c++主要是对象当然用new()创建,delete()删除

例子: 假设有一个类A
void main()
{
A a;
A *p;
p=new A;
......
delete p;
}

C++中创建和删除动态内存依然是malloc和free,这2个也不是关键字,是stdlib函数库的函数,和new,delete无关。

关键字new 创建 delete/delete[] 删除

用 new 来申请内存,用delete来删除分配的内存
如果是只有一个指针,比如,int p=new int;那么删除的格式为 delete p;
如果是指针数组,如int p=new int[10];那么删除时就应该为delete[]p;