找回密码
 立即注册
收起左侧

Qt中非new方式获取的对象指针是否需要delete呢?

3
回复
7495
查看
[复制链接]

尚未签到

来源: 2016-1-29 10:12:42 显示全部楼层 |阅读模式
1Qter豆
我有个疑问,QT中有不少通过非new方式获取对象的方法,比如像QTextCodec::getCodecForName()这样的静态函数返回的指针对象,这样获取的对象应该是在堆中创建的吧?而它也没有父对象。那么是否需要delete掉呢?如果不delete是否会带来内存泄露问题呢?期盼大神们解答下我的疑问。

最佳答案

查看完整内容

有,deletelater函数,好像是qt里面唯一一个自动管理内存的东东
回复

使用道具 举报

尚未签到

2016-1-29 10:12:43 显示全部楼层
jim000 发表于 2016-1-30 11:14
感谢您的指点!但是在qt中好像没有看到相应的释放机制。

有,deletelater函数,好像是qt里面唯一一个自动管理内存的东东
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2016-1-29 17:18:20 显示全部楼层
new和delete需要配对使用,非new方式(通过静态成员函数获取的指针),应该调用提供的相应接口来释放,
可以看看单例模式
回复

使用道具 举报

尚未签到

2016-1-30 11:14:28 显示全部楼层
感谢您的指点!但是在qt中好像没有看到相应的释放机制。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了