【发布时间】:2011-04-13 04:32:49
【问题描述】:
这三个分别是来自 Qt、STL 和 Boost 的共享指针类。它们在功能上似乎相同,所以我很困惑:
- 它们各自的优缺点是什么?
- 为什么 Boost 和 Qt 版本甚至存在 - 它已经在 STL 中,为什么要自己制作?
- 我应该如何选择使用哪一种?
【问题讨论】:
-
它不是“已经在 STL 中”。 TR1 基于 Boost 的 shared_ptr。 en.wikipedia.org/wiki/C%2B%2B_Technical_Report_1#Smart_pointers。我不知道 Qt。
-
因为我不熟悉 QT,所以这不值得回答,但是... 1. 总是更喜欢 STL 版本,除非您知道它有影响您的错误。 2. boost版本早于其他版本年,STL版本完全基于boost版本。 3. 见#1。
标签: c++ qt boost stl smart-pointers