C++中的delete到底是清空什么?是指针本身还是指针所指向的值?

如题所述

C++的delete要执行两个步骤:
1 按照指针类型,调用该类的析构函数。(这个是c的free没有的功能)。
2 根据指针类型,释放相应宽度的内存空间。(类似C的free)。

从这个题目来说,delete是是否指针所指向的对象。而不是释放指针本身。
一般而言,delete p;以后最后跟一个 p=NULL;避免无效指针的二次访问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-26
指向的值,如果不用delete,指针本身没了,但是所指向的空间没有被释放。本回答被提问者采纳
第2个回答  2013-03-26
是清空内存,是指:指针指向的值的空间(内存),用于回收内存
第3个回答  2013-03-26
主要是回收内存,目的是为了告诉操作系统程序对这部分内存不在使用了 让操作系统可以把这部分内存拿去做其它事情
第4个回答  2013-03-26
new 和 delete 是一组 new申请内存,delete释放内存,记得将释放的指针置为NULL
相似回答