gpt4 book ai didi

c++ - 我们应该更喜欢 Boost 还是标准库?

转载 作者:IT老高 更新时间:2023-10-28 21:40:43 27 4
gpt4 key购买 nike

我正在阅读 Boost 数组文档,我看到了这一行:

If you are using C++11, you should consider using std::array instead of boost::array

我的印象是,对于它的主要库来说,Boost 总是比标准库更可取,因为:

  • boost 的性能永远不会比标准库差
  • boost 可能会提供更多功能
  • boost 的质量终于与标准 lib 相同(编写 C++ 标准的人是积极的 boost 开发人员/主管)
  • 几年后,主要的 boost 功能最终在标准库中

那么我更喜欢 boost 而不是 stdlib 是否正确?

如果不是/更复杂,我的哪些假设需要纠正?

最佳答案

我认为您应该在可用时使用标准库,因为...它是标准的并且随编译器一起提供。此外,如果你使用 boost,你需要一个烦人的外部依赖。

所以,我的建议是:尽可能使用 std。如果您正在编写可移植代码,也必须使用旧编译器编译,您可以考虑使用自己的命名空间(例如:cxx0x),根据您使用的编译器嵌入 std 或 boost 命名空间(这称为 命名空间别名):

#ifdef COMPILER_HAS_CXX0X
#include <memory>
namespace cxx0x = std;
#else
#include <boost/shared_ptr.hpp>
namespace cxx0x = boost;
#endif

...

cxx0x::shared_ptr<MyClass> = ...

关于c++ - 我们应该更喜欢 Boost 还是标准库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14334982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com