Читал сабж.
Раздел про алгоритмы читать без слез невозможно.
Автор агитирует за использование стл алгоритмов
вместо тупых циклов (типа гут), и тут же в качестве
примера приводит вот такой у***щный ужас:
// find the first value val where the
// "and" of val > x and val < y is true
vector<int> iterator i =
find_if(v.begin(), v.end(),
compose2(logical_and<bool>(),
bind2nd(greater<int>(), x),
bind2nd(less<int>(), y)));
При этом один из основных аргументов в пользу
использования стл алгоритмов состоит в том что
написать это в виде цикла с итераторами и не
ошибиться еще сложнее. Потому что итераторы
устроены так, что то, что с первого раза напишет
любой нормальный человек, будет работать неправильно
discuss
(оринигал тут http://www.ddj.com/cpp/184401446)