几年前我把我的 C++ 技能搁置了,现在看来,当我再次需要它们时,情况已经发生了变化。
我们现在有了 C++11,我的理解是它与许多 Boost 特性重叠。
是否有一些总结这些重叠的地方,哪些 Boost 库将成为遗留库,推荐使用哪些 C++11 特性而不是 boost 特性,哪些最好不要?
可被 C++11 语言功能或库替换
<cmath>
log1p
expm1
cbrt
hypot
acosh
asinh
atanh
TR1(如果是 TR1 库,它们会在文档中标记)
从 C++11 向后移植的功能:
可替换为 C++17 语言功能:
标准团队仍在努力:
可以使用可变参数模板修剪或删除大部分MPL 。词法转换的一些常见用例可以用 std::to_string 和 std::sto X 代替。
一些 Boost 库与 C11 相关,但也有更多扩展,例如Boost.Functional/Hash包含hash_combine和 C11 中没有的相关函数,Boost.Chrono具有 I/O 和舍入以及许多其他时钟,等等,所以你可能仍然想在真正解雇它们之前先看看提升的那些。