Boost 能做什么现代C++的标准库做不到的?在程序中将 boost 作为依赖项包含有什么需要?

What can Boost do that modern C++'s standard library cannot? What is the need of including boost as a dependency in a program?

本文关键字:什么 boost 依赖 包含 C++ 标准 Boost 做不到 程序      更新时间:2023-10-16

考虑到最新的现代C++,那么C++17,Boost是否有任何功能在C++17标准库中不可用?

换句话说:使用现代C++(标准库(有什么事情是您无法完成的(通过合理的解决方案(,您需要将 Boost 作为依赖项包含在项目中?

您能否提供此类功能的列表,这些功能在 Boost 中而不是在现代 C++17(标准库(中

那么C++11和C++14呢?

Boost 有各种各样的库,其中大多数尚未合并到标准库中。它们包括但不限于:

  • 网络和其他进程间通信
  • 线性代数
  • 序列化
  • 解析
  • 信号和插槽
  • 多。。。

此外,将 Boost 用于C++17 为您提供了与旧编译器的一些兼容性。

日期库(在C++标准中会有太多分歧 - 看看Java中的混乱(,Boost Spirit,多精度和线性代数库是不C++标准中的东西。

加上 pi 的定义(尽管我们最终在 C++20 中得到了其中一个(。

因为Boost中的许多功能最终都会成为标准(std::regexstd::unique_ptrstd::threadstd::unordered_map(,所以Boost非常值得坚持。