一、C++ 动态分配内存空间

C++ 动态分配内存空间

知识点较简单,可以直接拉到最下面看小结的内容。

一、new的使用方法

1.1 分配一个变量

P = new T;

T是任意类型名, P是类型为T * 的指针。
上面的语句的作用是动态分配出一片大小为 sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给P。比如:

int * pn;
pn = new int;
* pn = 5;

1.2 分配一个数组

P = new T[N];

上面的语句的作用是动态分配出一片大小为 sizeof(T*N)字节的内存空间,并且将该内存空间的起始地址赋值给P。

二、释放内存

用“ new”动态分配的内存空间,一定要用“ delete”运算符进行释放

int * p = new int;
* p = 5;
delete p;
delete p; //导致异常, 一片空间不能被delete多次

用“ delete”释放动态分配的数组,要加“ [ ]”

int * p = new int[20];
delete [ ] p;

三、小结

动态分配及释放内存空间的方法如下:

p = new int;    
p = new int[50]; //分配内存空间

delete p;
delete [] p;    //释放资源

你可能感兴趣的:(C++,delete,new,内存空间)