Considere una clase A que tenga un miembro xy un std :: vector < A>. Ahora es una tarea común buscar la máxima x entre todos los elementos dentro del vector. Claramente, solo puedo usar std :: max_element si hay un iterador en las x. Pero debo escribir uno por mi cuenta, o simplemente hago un ciclo simple.Encontrar max_element de un vector donde se usa un miembro para decidir si es el máximo
maxSoFar = -std::numeric_limits<double>::max();
for(std::vector<A>::const_iterator cit = as.begin(); cit != as.end(); ++cit)
{
if(cit->x > maxSoFar)
maxSoFar = cit->x;
}
pero es tan tedioso, y soy muy vago ... ¿Hay una opción mejor?
puede usar 'boost'? – Naveen
Sí, nuestro proyecto usa boost de todos modos, pero ¿cómo uso boost para eso? – math