Здравствуйте, A.Grom, Вы писали:
AG>Конечно, код так выглядит более читаемо, но есть 2 неприятности, большая и маленькая
AG>1. Не всегда удобно условие засовывать в предикат
Тут могут помочь библиотеки типа boost::bind и boost::lambda, но, само собой, иногда явный цикл более выразителен.
AG>2. С ассоциативными контейнерами remove_if врядли даст ожидаемый результат
С ассоциативными контейнерами remove_if просто не будет компилиься.