delete和析构函数的关系

大佬,不明白呀,有new才需要用delete吗?还有delete和析构函数什么关系呀,都是释放空间吗?

new和delete是配对函数,有new就需要delete,否则空间被占用

每个类都有一个析构函数,在类对象实例销毁时自动调用,delete类对象当然会触发析构函数,但不是new的对象销毁时也会触发析构函数

关于析构函数,可以参考

https://www.cnblogs.com/wkfvawl/p/10620639.html

并不是所有要删除的对象都有析构函数,比如自己new的数据类型等,这时候需要调用delete删除

delete时先调用析构函数完成清理任务,比如如果对象打开了文件或者socket持有句柄,析构函数里要关闭文件,否则会丢失句柄;或者对象里又别的分配的对象,析构函数要先delete那些对象,否则会丢失内存。调用完析构函数之后才回收对象的内存空间。

请采纳,谢谢!

具体是哪个语言里面的知识点呢?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632