获得徽章 4
- 98年的我(男的)在南宁干开发两年多,工资5000到手4600,无公积金,朝九晚六且双休,下班回到城中村350块钱半毛胚的单间,玩玩王者,看看短视频,偶尔锻炼一下身体,无贷款,存款有万把块,不煮饭,爱喝奶茶和饮料,感觉这辈子有啦!6820
- #每天一个知识点# C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基类指针指向的派生类对象时就不会触发动态绑定,因而只会调用基类的析构函数,而不会调用派生类的析构函数。那么在这种情况下,派生类中申请的空间就得不到释放从而产生内存泄漏。所以,为了防止这种情况的发生,C++中基类的析构函数应采用virtual虚析构函数。
用代码解释:
A* a = new B();// A为基类,析构函数不是虚函数
delete a; // 那么这里不会执行B的析构展开1028
![[呲牙]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)