我正在尝试std::accumulate与std::min. 像这样的东西(不会编译):
vector<int> V{2,1,3};
cout << accumulate(V.begin()+1, V.end(), V.front(), std::min<int>);
是否可以?是否可以不为 编写包装函子std::min?
我知道我可以用 lambdas 做到这一点:
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。我不是想找到最小元素,我需要std::accumulate与std::min(或::min)结合用于我的库,它允许像 C++ 中的表达式一样进行函数编程。