动态内存管理(heap memory)
动态内存管理
1.堆内存(heap memory):
程序自由空间,此种内存必须由程序员自行管理,其配置有new表达式达成,释放有delete表达式完成;
2.配置heap内存的方式:
int *pi=new int(1024);
int *pia=new int[24];
注:
C++中没有提供任何语法让我们得以从heap配置数组的同时为其元素设定初值;
3.heap配置而来的对象,皆是未经过初始化的;
4.heap配置而来的对象执行期通过new配置而来,直到以delete表达式加以释放为
止(heap 配置对象的生存期);
5.delete 释放heap配置的内存时,无需检验pi是否为零,编译器会自动为我们检查;
6.释放数组中所有对象的方式
delete [] pia;
总结:
当程序员未使用delete释放heap配置而来的内存时,那这块内存永远得不到释放
,即内存漏洞(memory leak);