打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
QT中new出来的对象的销毁
很显然,楼主不是困惑的这里的代码,而是困惑QT里面用的delete太少了。
QT里面使用了QObject来管理子对象。形成了所谓的对象树。只要是QObject的子类,就可以指定一个parent对象,当这个parent销毁的时候,可以自动销毁子对象。所以你在使用QT的时候几乎很少使用手动delete。因为只需要管理parent对象就行了。QT中的例子一般是这样的。(改一下你的代码)

int main(int argc, char *argv[]){ 
   QApplication a(argc, argv);
   QWidget wid; 
   QLabel *label = new QLabel(&wid);  
   wid.show(); 
   a.exec(); 
   return 0;}

因为wid是label的parent,当程序退出的时候wid销毁时,会调用label的析构函数的,所以达到了析构label的目的。
------解决方案--------------------
我之前也一直纠结于这个问题,后来总结了一下,或许有点帮助http://blog.csdn.net/envenler/article/details/8020064
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
从 Qt 的 delete 说开来
QT内存回收机制
Qt 之 new对象何时销毁_qt 关闭窗口 new的对象
QT_for_Andriod环境搭建
Qt 5——对象模型(对象树)
QT中 标签与按钮的交互 以及将组件放置在父窗口
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服