所以,我想使用智能指针而不是原始指针,几乎每个关于 SO 的主题都提到了 Boost 库。但是 std 有 std::auto_ptr
和 std::shared_ptr
这样的东西。
为什么要 boost ?有什么区别?
这不是关于实现差异的问题,而是关于使用 Boost 指针的原因的问题。我想,给定答案(包括回答日期和上下文)是相当有用的。它有助于理解如何将 Boost 指针添加到 std。
最佳答案
基本上 Boost 首先执行 shared_ptr
。您可能会注意到,C++11 中的许多新容器类很久以前就在 Boost 中了。我希望这种模式也能在 C++ 标准的下一个修订版中继续使用。 Boost 支持不使用 C++11 的旧 C++ 编译器,这是一个很大的好处。
顺便说一句,std::auto_ptr
在 C++11 中被弃用,它引入了 std::shared_ptr
和 std::unique_ptr
相反,它们都更有用。
关于c++ - Boost智能指针和std智能指针有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13267908/