Estoy tratando de combinar std::accumulate
con std::min
. Algo como esto (no compilará):¿Es posible usar std :: accumulate con std :: min?
vector<int> V{2,1,3};
cout << accumulate(V.begin()+1, V.end(), V.front(), std::min<int>);
¿Es posible? ¿Es posible prescindir del functor de contenedor de escritura para std::min
?
sé que puedo hacer esto con 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);}
);
y sé que no es std::min_element
. No estoy tratando de encontrar el elemento mínimo, necesito combinar std::accumulate
con std::min
(o ::min
) para mi biblioteca que permite la función de programación como expresiones en C++.
Se podría utilizar un elenco muy feo '(const int & (*) (const int &, const int &)) std :: min'. –
Me gusta más la versión lambda. – moooeeeep
@JesseGood: ¿no tienes 'static_cast'? : \ – Mehrdad