foldl
STL コンテナを折りたたむには、Haskell の関数の類似物が必要です。期待されるシグネチャは次のようになります。
template Iterator, FoldingFunction, Result
Result foldl(
Iterator begin,
Iterator end,
FoldingFunction f,
Result initValue);
標準STLにはそのような機能はありません。ブースト何かありますか?
実装するのは非常に簡単だとはわかっていますが、標準化された実装がすでに存在するかどうかを知りたいです。
もう 1 つ質問があります。C++/STL では通常、データ リストをどのように折り畳むのでしょうか。
ベストアンサー1
STL にはそのような関数があります:std::accumulate
<numeric>
ただし、これはではなくヘッダーにあります<algorithm>
。
実は「Fold」に関するWikipediaのページC++ を含むほとんどのプログラミング言語のfoldl
/関数がすでにリストされています。foldr