【问题标题】:Why didn't `accumulate` make it into Ranges for C++20?为什么 `accumulate` 没有成为 C++20 的 Ranges?
【发布时间】:2021-01-04 01:25:39
【问题描述】:

我怀疑 accumulate 不是唯一没有成功的算法。

也许现在有更好的方法在一定范围内执行累积(折叠),因此accumulate 已过时?

【问题讨论】:

    标签: c++ c++20 range-v3


    【解决方案1】:

    不,accumulate 是一个完全合理的算法,并且不会被任何其他算法淘汰。它没有被包含在 c++20 中的原因只是时间问题。就范围而言,最好尽可能多地添加,而不必担心一次添加所有内容。否则,没有一个受约束的算法可能会进入 c++20,这将是一种耻辱。

    还有一些算法尚未受到约束,还有整个 <numeric><memory> 标头。

    幸运的是,有一个proposal 来添加这些剩余的算法(我很乐观这些将在 c++23 中添加)。事实上,这个提案的介绍很好地回答了你的问题:

    “每次有人问我们为什么不涵盖 <numeric><memory> 算法时:我们认为 187 页 TS 就足够了。” — 凯西·卡特

    【讨论】:

      猜你喜欢
      • 2020-01-20
      • 1970-01-01
      • 2021-12-15
      • 2020-10-05
      • 1970-01-01
      • 2021-05-23
      • 2020-06-25
      • 2022-11-24
      • 1970-01-01
      相关资源
      最近更新 更多