【发布时间】:2012-11-07 10:36:26
【问题描述】:
所以,我想使用智能指针而不是原始指针,并且几乎所有关于 SO 的主题都提到了 Boost 库。但是 std 有 std::auto_ptr 和 std::shared_ptr 这样的东西。
为什么要升压?有什么区别?
这不是关于实现差异的问题,而是关于使用 Boost 指针的原因。我想,给定的答案,包括回答日期和上下文,是相当有用的。它有助于理解如何将 Boost 指针添加到 std。
【问题讨论】:
-
std::auto_ptr 顺便说一句已被弃用
-
新的智能指针,如 C++11 中的
std::shared_ptr等(std::auto_ptr除外)是根据 Boost 中的同名结构建模的。 -
检查您提到的那些 SO 项目的日期。去年才在标准中引入了几个
boost智能指针,例如boost::shared_ptr(因此成为std::shared_ptr)。