欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Qt 智能指针类详解

Qt 智能指针类详解

2024/10/25 21:15:59 来源:https://blog.csdn.net/xxzhaoming/article/details/139998612  浏览:    关键词:Qt 智能指针类详解

在Qt框架中,提供了多种智能指针类,用于管理对象的生命周期和内存。常见的包括QPointerQSharedPointerQWeakPointerQScopedPointer。它们各自有不同的用途和行为特点。本文将详细介绍这些类的区别和使用场景。

QPointer

QPointer是一个模板类,专门用于管理继承自QObject的对象。当被指向的对象被销毁时,QPointer会自动设置为nullptr,从而避免产生“悬空指针”。

示例代码:

QObject *obj = new QObject;
QPointer<QObject> pObj(obj);
delete obj;
Q_ASSERT(pObj.isNull()); // pObj现在是nullptr

QSharedPointer

QSharedPointer是一个引用计数的智能指针。只要还有一个QSharedPointer实例指向对象,该对象就不会被删除。它类似于C++11中的std::shared_ptr

示例代码:

in

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com