2 young111111234 Young111111234 于 2016.03.25 11:37 提问

c++类中指针、堆对象的问题

当调用析构函数释放对象时,不写delete语句释放成员指针所指的堆空间,那对象释放完之后,该指针是消亡了呢,还是仍然存在?如果存在,它又是指向哪里?

3个回答

chen956
chen956   2016.03.25 11:59
已采纳

指针本身是变量,当对象释放的时候,会把对象所有成员的值都释放。所以指针会消亡,但是那块堆内存还占用着,造成内存泄露!

Young111111234
Young111111234 嗯嗯,谢谢啦
一年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.25 14:09

堆指针不delete,就会标记被使用,操作系统就不会回收,这样就会导致系统的内存泄漏。

u010850027
u010850027   2016.03.26 21:14

当对象释放的时候,会把对象所有成员的值都释放,所以指针会消亡,但是那块堆内存还占用着,造成内存泄露,不会被回收。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!