在Qt的智能指针[复制](Smart pointers in Qt [duplicate])

2019-08-16 22:12发布

这个问题已经在这里有一个答案:

  • 什么C ++智能指针的实现有哪些? 3个回答

喜欢的话已经写在这里的Qt到现在已经8新疆特色智能指针类。 看起来这是你永远都需要的所有。 然而,为了使用这些智能指针类必须从QObject的派生这并不总是很方便的。 是否有Qt的智能指针与任意班级工作的其他实现?

Answer 1:

许多Qt类是自QObject衍生,虽然一些内置的智能指针类涉及到的QObject(或QSharedData),该QSharedPointer和QScopedPointer模板显示,允许指针的东西。

除此之外,你会发现一些智能指针模板在加速 :

  • scoped_ptr的 -单个对象的简单唯一所有权。 不可复制。
  • scoped_array -简单的数组的唯一所有权。 不可复制。
  • shared_ptr的 -对象拥有多个指针间共享。
  • shared_array -阵列所有权多个指针中共享。
  • weak_ptr的 -非拥有属于shared_ptr的对象的观察者。
  • intrusive_ptr -具有嵌入的引用计数的对象的共享所有权。


文章来源: Smart pointers in Qt [duplicate]