Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
STL5 / lab7-functors / lab7-functors.doc
Скачиваний:
18
Добавлен:
10.04.2015
Размер:
87.04 Кб
Скачать

Предикаты в stl

Несмотря на то, что в отличие от обычных функций функторы в большей степени предназначены для сохранения состояния между вызовами, предикаты используемые стандартными алгоритмами (под предикатами понимаются функции или функторы, возвращающие значение типа bool, которые используются стандартными алгоритмами для определения того, нужно ли обрабатывать отдельные элемент, например удалять в случаеremove_if) не должны иметь сохранять никакого состояния между вызовами, т.е. результат выполнения предиката должен зависеть только от переданных ему аргументов. Это требование явно описано в стандарте и его нарушение может привести к непредсказуемому поведению программы.

1Совместимость функтора сSTLв основном требуется для конструирования сложных функторов из более простых, а также объединения со стандартными функторами. Вопросы использования стандартных функторов рассматриваются в следующей работе.

В случае простого использования функтора в алгоритме STLон может не удовлетворять описанным требованиям, как это было в примерах приводимых в работах посвященных стандартным алгоритмам.

Соседние файлы в папке lab7-functors