Я просто прочитал код для std::for_each
:
template<class InputIterator, class Function>
Function for_each(InputIterator first, InputIterator last, Function f)
{
for ( ; first!=last; ++first ) f(*first);
return f;
}
и не смог найти веских причин для этой функции шаблона вернуть функцию ввода. У кого-нибудь есть примеры, где это было бы полезно?