Шрифт:
Чтобы обойти эту лингвистическую ловушку, проще всего объявить функцию
Из-за простоты этого решения я чуть было не озаглавил этот совет «Объявляйте
Ранее в этом совете уже упоминалось о том, что всюду, где STL ожидает получить предикатную функцию, может передаваться либо реальная функция, либо объект предикатного класса. Этот принцип действует в обоих направлениях. В любом месте, где STL рассчитывает получить объект предикатного класса, подойдет и предикатная функция (возможно, модифицированная при помощи
Как бы вы ни программировали предикаты, они всегда должны быть «чистыми» функциями.
Совет 40. Классы функторов должны быть адаптируемыми
Предположим, у нас имеется список указателей
Если потребуется найти в списке первый указатель на «интересный» объект
С другой стороны, если потребуется найти первый указатель на «неинтересный» объект
Перед
При виде этого решения невольно возникают вопросы. Почему мы должны применять
Ответ оказывается весьма неожиданным. Вся работа