析构函数⼀般写成虚函数的原因
Published on 2022-07-09 22:14 in 暂未分类 with 萧海~

析构函数⼀般写成虚函数的原因

    直观的讲:是为了降低内存泄漏的可能性。举例来说就是,⼀个基类的指针指向⼀个派⽣类的对象,在使⽤完毕准备销毁时,如果基类的析构函数没有定义成虚函数,那么编译器根据指针类型就会认为当前对象的类型是基类,调
    ⽤基类的析构函数 (该对象的析构函数的函数地址早就被绑定为基类的析构函数),仅执⾏基类的析构,派⽣类的
    ⾃身内容将⽆法被析构,造成内存泄漏。
    如果基类的析构函数定义成虚函数,那么编译器就可以根据实际对象,执⾏派⽣类的析构函数,再执⾏基类的析构 函数,成功释放内存。

    posted @   萧海~  阅读(120)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    历史上的今天:
    2021-07-09 c语言AES、MD5
    2021-07-09 C语言十六进制字符串与字节数组相互转换
    2021-07-09 C语言常用函数-mkdir()建立目录函数
    点击右上角即可分享
    微信分享提示
    电磁波切换