• 5038阅读
  • 4回复

qt 中内存泄露 [复制链接]

上一主题 下一主题
离线jinyu
 
只看楼主 正序阅读 楼主  发表于: 2009-04-07
  qt中很多new的对象并不释放,会不会出现内存泄露情况呢?如果我p = new int [10],还有delete 不???qt的内存如何管理呢?在qt的帮助文档中有没有关于内存管理的资料呢?高手指点下
离线kudev
只看该作者 4楼 发表于: 2009-04-13
请看看这篇文章,对你这个问题有详细的描述

Inside QT Series (十二):Qt对象之间的父子关系
http://www.insideqt.com/bbs/viewthread.php?tid=72
Welcome to http://www.InsideQt.com - 专注于Qt编程!

《Inside Qt Series》专栏文章正在连载中 . . . . . .
离线wvins
只看该作者 3楼 发表于: 2009-04-08
.......
new和delete内存管理当然要比malloc消耗要大了,
因为他要执行类的构造函数进行初始化,而malloc只是分配一段内存而已。

对于简单类型使用malloc和free是可行的,但对于复杂对象比如Qt自带的类,QWidget你试试
这就带来另外一个问题了,
new和delete是必须的,而malloc和free不是必须的,
那么还有没有必要在引入malloc和free的库来增大程序的体积呢。
离线qiudeyezi
只看该作者 2楼 发表于: 2009-04-08
论坛里有位大哥已经写了相关的帖子了
http://www.qtcn.org/bbs/read.php?tid=13376
你去看看,new和delete这种管理内存的方式效率不怎么高,可以用malloc和free来替代
离线daily

只看该作者 1楼 发表于: 2009-04-07
new 出来了要删除的。 基本上QT只是会管理自己的qobject 对象。包括派生自qobject 的对象。前提是派生对象要设置
parent.
快速回复
限100 字节
 
上一个 下一个