在c++一个类中的数据成员是指针。在这个类中的析构函数指针为什么要先删除。然后再定义成空指针?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
c++中析构函数中的指针问题
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
7条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
浅醉_linzw 2015-07-14 06:36关注先删除主要是为了释放掉分配在堆的内存数据,防止内存泄漏,然后赋值为NULL主要是防止野指针导致程序崩溃,这样做体现出程序的健壮性,我用一个形象低俗的例子记住了这一点,把赋值为NULL想象成上完厕所记得擦屁股……这样程序就不会出现野指针了,因为野指针很大可能会是导致项目失败的关键
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-08-07 06:33回答 2 已采纳 不是你说的那个原因,你应该重载赋值运算符和复制构造函数实现深拷贝,否则就会double delete
- 2023-03-16 03:06回答 4 已采纳 delete的目的是啥你要搞清楚?delete的是你通过new分配出来的堆内存,而你的num的空间并不是你通过new分配的空间,所以你这里要么去掉delete # 要么你在构造的时候new i
- 2015-06-04 23:35回答 8 已采纳 1. 1. 析构函数跟普通成员没有什么不同,只是编译器在会在特定的时候自动调用析构函数(离开作用域或者执行delete操作); 1. 2. 对于一个成员函数调用(不论是通过对象obj.func还是通
- 2020-09-03 00:13在C++编程中,派生类的析构函数是一个关键的概念,它涉及到对象生命周期的管理以及资源的释放。析构函数与构造函数相反,构造函数用于初始化对象,而析构函数则在对象生命周期结束时自动调用,负责清理对象创建过程...
- 2017-03-27 18:36回答 2 已采纳 你每声明一个对象,都需要调用一次构造函数,最后需要各调用一次析构函数
- 2021-12-16 07:22回答 3 已采纳 看一下汇编就清楚,当把一个函数设为虚函数,这个函数的地址就会在这个类的虚函数表上,当你通过父类的指针或引用指向一个子类的实例,通过这个指针调用这个类的一个虚函数时其实是调用了子类的函数,而不是父类的,
- 2017-06-30 23:15回答 3 已采纳 http://www.cnblogs.com/KevinSong/p/3323372.html
- 2020-09-04 22:41在C++编程语言中,虚析构函数(Virtual Destructor)是一个非常关键的概念,它主要用于处理多态性(Polymorphism)和动态类型(Dynamic Type)。本文将深入探讨虚析构函数的作用,以及为何在基类中声明虚析构函数是...
- 2017-02-06 02:57回答 2 已采纳 不能这么转换,成员函数其实还有一个隐藏的this指针参数,在最后,而你普通函数,没有这个参数,导致堆栈不平衡。
- 2015-09-10 05:29回答 6 已采纳 [你这里处理得参数是引用,它可以修改变量得值,并能够生效。引用是hicpp的概念。跟指针有点像。
- 2016-03-27 14:19回答 1 已采纳 全局类会调用析构函数,但是你在控制台看不到输出,这是因为调用的时机,此时程序已经和控制台分离了。 为了证明它的确被执行了,你可以下一个断点,调试执行,那么会看到程序确实停在了析构函数上。
- 2020-08-18 17:11在C++编程语言中,析构函数是一种特殊类型的成员函数,它的主要职责是在对象生命周期结束时执行清理工作。析构函数没有返回值,也不接受任何参数,并且每个类只能有一个析构函数。当对象不再使用并即将被销毁时,...
- 2020-07-25 23:54### C++箴言:避免析构函数调用虚函数 #### 概述 在C++编程中,理解和遵循良好的设计模式对于确保程序的稳定性和可维护性至关重要。其中一个经常被提及的原则是“避免在析构函数中调用虚函数”。这一原则在C++语言...
- 2020-09-04 22:49在C++编程语言中,虚析构函数是一种特殊类型的成员函数,它的主要作用在于实现多态性,特别是在涉及动态类型和对象销毁时。本文将深入探讨虚析构函数的使用及其重要性。 首先,理解多态性是理解虚析构函数的关键。...
- 2023-06-07 16:35泡沫o0的博客 C++ 私有析构函数的作用
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司