На этом шаге мы рассмотрим стандартные объекты функций.
Стандартная библиотека C++ содержит ряд стандартных объектов функций. Эти объекты перечислены в таблице 1.
| Выражение | Описание |
|---|---|
| negate<type>() | - param |
| plus<type>() | param1+param2 |
| minus<type>() | param1-param2 |
| multiplies<type>() | param1*param2 |
| divides<type>() | param1/param2 |
| modulus<type>() | param1%param2 |
| equal_to<type>() | param1==param2 |
| not_equal_to<type>() | param1!=param2 |
| less<type>() | param1<param2 |
| greater<type>() | param1>param2 |
| less_equal<type>() | param1<=param2 |
| greater_equal<type>() | param1>=param2 |
| logical_not<type>() | !param |
| logical_and<type>() | param1&¶m2 |
| logical_or<type>() | param1||param2 |
Объект функции less<> является критерием по умолчанию при сортировке или сравнении объектов, поэтому он используется достаточно часто. По умолчанию сортировка всегда проводится по возрастанию (элемент <следЭлемент).
Чтобы использовать стандартные объекты функций, необходимо включить в программу заголовочный файл <functional>:
#include <functional>
В стандартную библиотеку C++ также входит специальный объект функции, который может использоваться при контекстной сортировке строк.
На следующем шаге мы рассмотрим функциональные адаптеры.