ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

QT智能指针总结

QT智能指针总结

Qt提供了一系列智能指针,它们在特定场景下比标准库智能指针更方便。下面的表格对比了常见的Qt智能指针:

智能指针类型所有权主要用途适用对象与 std 智能指针对比
QPointer
弱引用/观察 QObject 派生类 类似于 std::weak_ptr,但自动置空。
QSharedPointer
共享 共享所有权 任意C++类 类似于 std::shared_ptr,功能相似。
QScopedPointer 独占 独占所有权(作用域) 任意C++类 类似于 std::unique_ptr,但旧版Qt缺少移动语义。
QSharedDataPointer 隐式共享 实现写时复制 自定义隐式共享类 Qt特有,用于实现值语义的隐式共享类-10
QWeakPointer 打破循环引用 与 QSharedPointer 配对 与 std::weak_ptr 类似,需与 QSharedPointer 配合使用。
返回列表