Qt内存管理之parent指针
来源:互联网 发布:新手开淘宝店装修 编辑:程序博客网 时间:2024/04/30 03:44
QFile ( const QString & name )QFile ( QObject * parent )QFile ( const QString & name, QObject * parent )
------------------------------------------------------
#include <QtCore>class Test : public QObject{public:void test(){const int size = 10000;QFile * files[size];for (int i = 0; i < size; i++){files[i] = new QFile(this);//带Or不带this指针差别很大。带上的话,Test销毁时负责销毁;否则就不管啦}}};int main(int argc, char *argv[]){QCoreApplication a(argc, argv);////在windows下,加上下面三句在关闭程序时,会输出内存泄露情况//int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );//tmpFlag |= _CRTDBG_LEAK_CHECK_DF;//_CrtSetDbgFlag( tmpFlag );Test *t = new Test();t->test();QTimer::singleShot(10000, t, SLOT(deleteLater()));//十秒钟之后执行类似"delete t"的操作return a.exec();}/* 执行效果:1、带this指针,程序启动后,占用内存约300多M,10秒后变成正常的10M多。2、不带this指针,内存泄露,程序一直占用300多M内存。*/
【后记】
话说好记性不如烂笔头,所以以后还是多写一些随笔~
在函数里面不需要使用new就不用new了,直接使用使用局部变量好啦;在QT中new出来的如果没有指定父指针,系统就不负责回收;即使指定了父指针,也要等到父类释放时才能一起释放,有时就等不到那时候,程序就挂啦。
- Qt内存管理之parent指针
- Qt学习之parent参数
- QT的对象树机制,parent指针。
- [内存管理]智能指针之shared_array
- [内存管理]智能指针之shared_array
- Qt学习之路(tip): parent参数
- Qt学习之路(tip): parent参数
- Qt学习之路(tip): parent参数
- Qt 学习之路(tip): parent 参数
- Qt学习之路(tip): parent参数
- Qt学习之路(tip): parent参数
- QT之GUI学习笔记--parent参数
- c++之智能指针(二)之直接管理内存
- Qt的内存管理
- Qt的内存管理
- QT的内存管理
- QT中的内存管理
- QT内存管理
- 关于json数据
- (从浅入深)10个经典.NET习题
- 《编程回忆录》之 Unity3D 视频教程
- 第二次上机指导
- 一步一步学Yii开发(二)
- Qt内存管理之parent指针
- Ubuntu下重启firefox
- linux 系统下make 与 make install 之间的区别
- linux 下好用的音乐播放器介绍
- 第二次C程序设计上机报告
- android 使用反射机制获取工程中的图片
- 关于json数据跨域传输的问题
- C语言的指针例题
- 第二次 C程序设计上机报告