c++ - 哪些Boost特性与C ++ 11重叠?




1 Answers

可以通过C ++ 11语言功能或库进行替换

TR1(如果它们是TR1库,则在documentation中标记)

从C ++ 11反向移植的功能:

  • Atomic ←标准::原子
  • Chrono ←<chrono>(见下文)
  • Move ←Rvalue引用

可替换为C ++ 17语言功能:

  • String_ref →std :: string_view
  • Filesystem<filesystem> (Filesystem TS)
  • Optional →std ::可选( Library Fundamentals TS v1
  • Any →std :: any(库基础TS v1)
  • 数学/特殊函数<cmath>特殊数学IS ),请参阅下面的列表
    • beta函数
    • (正常/相关/球形)勒让德多项式
    • (正常/关联)勒让德多项式
    • Hermite多项式
    • Bessel(J / Y / I / K)函数(Y在C ++中称为Neumann函数)
    • 球面贝塞尔(j / y)函数
    • (第一/第二/第三种)的(不完整/完整)椭圆积分
    • 黎曼ζ功能
    • 指数积分Ei
  • Variant →std :: variant( P0088R2

标准团队仍在努力:

MPL的很大一部分可以使用可变模板进行修剪或删除。 Lexical cast的一些常见用例可以用std :: to_string和std :: sto X来代替。

一些Boost库与C ++ 11相关,但也有一些扩展,例如Boost.Functional/Hash包含hash_combine和在C ++ 11中找不到的相关函数, Chrono具有I / O和四舍五入等许多时钟,等等,所以你可能还是想在真正解雇他们之前先看看助推器。

几年前,我将C ++技术放在架子上,现在看来,当我再次需要它们时,景观已经发生了变化。

我们已经获得了C ++ 11,我的理解是它重叠了许多Boost特性。

是否有一些重叠部分存在的概要,哪些Boost库将成为遗留问题,哪些C ++ 11功能可以使用而不是增强功能,哪些更好?




Related

c++ boost c++11