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是安全的。