QScopedPointer 是 Qt 提供的一种轻量级智能指针,主要用于在作用域内管理动态内存。它的设计目标是简单、高效,适用于管理那些在当前作用域内需要释放的对象。
QScopedPointer的特点
-
自动内存管理
- 当
QScopedPointer
离开其作用域时,会自动释放所管理的对象,避免内存泄漏。
- 当
-
非共享
- 不同于
QSharedPointer
或std::shared_ptr
,QScopedPointer
是独占所有权的智能指针(类似于std::unique_ptr
),不可复制。
- 不同于
-
灵活自定义清理
- 允许自定义清理函数,用于释放特殊资源。
-
轻量级
- 无额外的引用计数开销,性能接近裸指针。