C++中的动态内存分配

动态内存分配,能够有效的利用内存空间。

一.使用new分配内存

例:int * ptr = new int;

ptr指针指向了一个新的内存空间

int * nums = new int[5];

分配了一个动态的数组空间,nums指针指向了第一个元素的地址。

二.使用delete释放内存

* 与new配对使用,

例:

int * ptr_int = new int;

short * ptr_short = new short[5oo];

delete ptr_int;

delete [] ptr_short

如下:delete ptr;

delete [] nums; 注意释放动态的数组空间时,需要加一个[]。

* 不能释放已经释放的内存。

* 不能释放声明变量分配的内存。

三.注意事项

1.不要创建两个指向同一内存块的指针,有可能误删两次。

2.不要使用delete释放不是new分配的内存。

3.如果使用new[]为数组分配内存,则应对应delete[]释放内存。

4.对空指针使用delete是安全的。