本文,记录new/delete的基本使用方法。
分别下面两个,理解概念:数据对象
int *pn = new int;
int hi;
int *pt = &hi;
为一个数据对象(可以是结构,也可以是基本类型)获得并分配指定内存的通用格式:
typeName *pointer_name = new typeName;
然后,理解:C++new与Cmalloc的区别
C++内存管理数据包
int *ps = new int;
...
delete ps;
使用delete关键在于,将它用于new分配的内存。
动态数组的通用格式:
typeName *pointer_name = new typeName [num_elements];
访问数据元素时,直接把指针当作数组名使用即可。
遵循规则:
- 不要使用delete来释放不是new分配的内存。
- 不要使用delete释放同一内存块两次。
- 如果使用new[]为数组分配内存,则应使用delete[]来释放。
- 如果使用new[]为一个实体分配内存,则应使用delete(没有方括号)来释放。