【发布时间】:2011-04-23 20:04:27
【问题描述】:
我需要一个类似 Haskell 的 foldl 函数来折叠任何 STL 容器。预期签名如下:
template Iterator, FoldingFunction, Result
Result foldl(
Iterator begin,
Iterator end,
FoldingFunction f,
Result initValue);
标准 STL 没有这样的功能。 Boost有吗?
我知道实现起来很简单,但我想知道是否有现成的标准化实现。
还有一个问题:您通常如何在 C++/STL 中折叠数据列表?
【问题讨论】:
-
你所说的“折叠”到底是什么意思??
-
@Konrad: fold = 减少 = 累积。
-
@Konrad - 以某种顺序处理数据结构并构建返回值。 haskell.org/haskellwiki/Fold