Boost可以使现代C ++不能做什么?

时间:2019-04-03 14:33:22

标签: c++ c++11 boost c++14 c++17

考虑到最新的现代C ++,因此考虑到C ++ 17,Boost具有的某些功能在现代C ++中不可用吗?

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

能否请您提供此类功能的列表,这些功能是Boost而不是现代C ++ 17中的功能?

那C ++ 11和C ++ 14又如何呢?

2 个答案:

答案 0 :(得分:4)

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

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

此外,将Boost用于其中的功能 C ++ 17使您与较早的编译器兼容。

答案 1 :(得分:3)

日期库(在C ++标准中可能会有太多分歧,请看一下Java的烂摊子),Boost Spirit,多精度和线性代数库不是C ++标准中的东西。

加上 pi 的定义。

由于Boost的许多功能最终使自己成为标准(std::regexstd::unique_ptrstd::threadstd::unordered_map)的最小改动,因此Boost值得坚持

我个人会在Boost Brit的英格兰布雷郡的Fat Duck赌晚饭,在接下来的20年里,它永远不会成为C ++标准-有人愿意反其道而行之吗?