先来进行分析一下:
fucntion函数里的
int *p = new int[100000];
做的事情
1、申请了一片内存int[100000]
2、申请了了一个指针变量 *p。同时p指向这片内存。
在子函数结束以后,会做的事情
1、销毁指针变量*p
注意:只是销售了指针变量,并不会自动的回收int[100000]这片内存
new出的内存必须要用delete才会回收
结果就造成了这片内存 没有人知道在哪了,因为指向它的指针*p已经被销毁了。
(当然了,操作系统是知道的。但是它认为你程序中还在使用这片内存,因为你没有delete掉)
这样你程序一直开着的话,就会一直占用着这些内存,但是实际上你却没有使用。
当然你
main函数一退出,所有的内存就会都回收了。