-
Notifications
You must be signed in to change notification settings - Fork 13
11 Lesson
Konychev Valera edited this page Apr 15, 2019
·
2 revisions
-
Функтор - любой объект, к которому можно применить оператор ():
- функция
- указатель на функцию
- объект класса с перегруженным оператором operator()
-
Пример шаблонной функции, которая принимает функторы:
template<typename InputIt, typename UnaryFunction>
UnaryFunction for_each(InputIt first, InputIt last, UnaryFunction f);
- Типы функторов в STL:
- генератор - без аргументов.
- унарный - с одним аргументом.
- предикат - когда возвращает bool.
- бинарный - с двумя аргуметами.
- бинарный предикат - когда возвращает bool.
template<typename InputIt, typename OutputIt, typename UnaryOperation>
OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first,
UnaryOperation unary_op);
auto-variables { function-body }