Qt中使用new之后没有delete
2017-06-22 22:19
190 查看
Qt中使用new之后没有delete
参考网址:http://m.blog.csdn.net/chaozi2008/article/details/43308021
补充:
1、 承于QObject在父对象销毁时会自动去销毁子对象。(父类被销毁时,子类也被销毁)。
注意:有时候qt代码中没有指明parent,比如使用addItem、addWidget,setItem等是一样的,会自动归并到父对象的childList队列里面去。这时候也不需要使用delete。
2:问:new出来的对象忘记delete了,那么程序退出时会对这个对象的内存进行释放?
回答:继承自qobject的派生类可以释放,但是对于非qobject不会释放,会造成内存泄露,这时候可以使用qt的智能指针QSharePointer来管理
参考网址:http://m.blog.csdn.net/chaozi2008/article/details/43308021
补充:
1、 承于QObject在父对象销毁时会自动去销毁子对象。(父类被销毁时,子类也被销毁)。
注意:有时候qt代码中没有指明parent,比如使用addItem、addWidget,setItem等是一样的,会自动归并到父对象的childList队列里面去。这时候也不需要使用delete。
2:问:new出来的对象忘记delete了,那么程序退出时会对这个对象的内存进行释放?
回答:继承自qobject的派生类可以释放,但是对于非qobject不会释放,会造成内存泄露,这时候可以使用qt的智能指针QSharePointer来管理
相关文章推荐
- 没有躲过的坑--成对使用new和delete时要采取相同的形式
- 全局重载new和delete之后能否在STL中使用默认的new和delete
- 没有躲过的坑--成对使用new和delete时要采取相同的形式
- effective C++ 条款 16:成对使用new和delete时要采用相同形式
- VC 运行时库中的 new/delete 使用
- 关于new 、delete、及应用的使用
- new与delete函数使用方法以及注意事项
- 使用new和delete[]进行动态内存分配和释放
- c++中new和delete的使用方法
- (转)c++内存分配优先使用内存池,而不是new,delete
- c++中new和delete的使用方法
- 一定要配对的使用new和delete
- [翻译] Effective C++, 3rd Edition, Item 16: 成对使用的 new 和 delete 要使用相同的形式
- new分配空间之后和delete释放空间之后
- Effective c++ 条款16学习笔记: 成对使用new和delete时要采取相同形式
- new 出来的存储空间(如果不使用delete),系统会自动回收?
- dll中使用new和delete
- C++学习笔记之1:使用相同形式的new和delete
- 关于QT控件的new 与 delete
- 使用CMake编译QT程序的一个例子(没有使用Qt特殊class)