由于多态的存在,而多态分为两种方式,第一种是基类指针指向子类堆区内存,第二种是基类引用指向子类对象,而父类不写成虚析构的话第一种就会出现以下问题(第二种子类析构仍然会被调用):
释放掉基类指向的子类内存,并销毁父类指针时只会调用基类的析构函数,而不会调用子类的析构函数从而造成内存泄漏。
而基类写成虚析构的时候先调用父类的构造函数然后调用子类的构造函数,然后调用子类的析构函数然后调用基类的析构函数。
2023-09-17
可以可以,同韦东山,感谢铁子
博主,您好,我最近也在做一些关于sgm的改进,关于grad方面我想请教你一下,可以加您的联系方式嘛
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界