c++ - Boost智能指针和std智能指针有什么区别?

标签 c++ pointers boost std

所以,我想使用智能指针而不是原始指针,几乎每个关于 SO 的主题都提到了 Boost 库。但是 std 有 std::auto_ptrstd::shared_ptr 这样的东西。 为什么要 boost ?有什么区别?

这不是关于实现差异的问题,而是关于使用 Boost 指针的原因的问题。我想,给定答案(包括回答日期和上下文)是相当有用的。它有助于理解如何将 Boost 指针添加到 std。

最佳答案

基本上 Boost 首先执行 shared_ptr。您可能会注意到,C++11 中的许多新容器类很久以前就在 Boost 中了。我希望这种模式也能在 C++ 标准的下一个修订版中继续使用。 Boost 支持不使用 C++11 的旧 C++ 编译器,这是一个很大的好处。

顺便说一句,std::auto_ptr 在 C++11 中被弃用,它引入了 std::shared_ptrstd::unique_ptr相反,它们都更有用。

关于c++ - Boost智能指针和std智能指针有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13267908/

相关文章:

c - float 是 printf 的错误值

c++ - 如何将某个类的指针方法转换为指针函数?

c - 使指针指向数组的末尾

c++ - 获得更好的 iostream 错误消息

c++ - Boost 测试因命名空间内的枚举类而失败

c++ - 将成员函数作为参数传递给函数模板

c++ - 遍历链表插入 STL vector 值

c++ - 您最喜欢的用于 c/c++ 开发的 eclipse 插件是什么?

c++ - 如何包含 Boost 库?

c++ - 什么是 C++ 中的代理类