と組み合わせようとしてstd::accumulateいstd::minます。このようなもの(コンパイルされません):
vector<int> V{2,1,3};
cout << accumulate(V.begin()+1, V.end(), V.front(), std::min<int>);
出来ますか?のラッパーファンクターを書かずに行うことは可能std::minですか?
私はラムダでこれを行うことができることを知っています:
vector<int> V{2,1,3};
cout << std::accumulate(
V.begin()+1, V.end(),
V.front(),
[](int a,int b){ return min(a,b);}
);
そして、私はあることを知っていますstd::min_element。私は最小要素を見つけようとはしていません.C ++での式のような関数プログラミングを可能にするライブラリの(または)std::accumulateと組み合わせる必要があります。std::min::min