NEW
C++ 中的new运算符用来分配内存,和c语言中得malloc有相似得功能。
-
使用new为当个元素开辟内存空间,并返回地址
typeName *pointer_name =new typeName;
例如:使用new开辟可以存储int类型数值大小得内存空间,然后返回开辟得内存空间得地址。
int *a=new int;
-
使用new创建动态数组并返回地址
typeName *pointer_name =new typeName[size];
例如:使用new来创建包含10个int元素得数组
int *a=new int [10];
delete
delete运算符用来释放new开辟得空间,以节省内存开销
-
删除单个元素指针
delete pointer_name;
-
删除数组
delete []a;
注意事项
- 不要使用delete来释放不是new分配的内存。
- 不要使用delete释放同一个内存块两次。
- 如果使用new [ ]为数组分配内存,则应使用delete [ ]来释放。
- 如果使用new [ ]为一个实体分配内存,则应使用delete(没有方括号)来释放。
- 对空指针应用delete是安全的。