Рассмотрим класс A, имеющий член x и std :: vector . Теперь его общая задача - найти максимальное значение x среди всех элементов внутри вектора. Ясно, что я могу использовать std :: max_element, только если есть итератор на x. Но я должен написать его самостоятельно, или я просто сделаю простой цикл for.
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;
}
но это так утомительно, а я такой ленивый .. Есть ли лучший вариант?