Це поняття широко використовується у STL. Одним з найпопулярніших застосувань функціональних об’єктів є передача їх у якості аргументу алгоритмам. Тим самим можна регулювати їх поведінку. Ми вже використовували функціональні об’єкти в програмі 15.6 (функціональний об’єкт greater<>(), використовуваний нля сортування даних у зворотньому порядку).
Функціональний об’єкт – це функція, яка таким способом прибудовується до класу, що виглядає як звичайний об’єкт. Тим не менше, в такому класі не може бути компонентних даних, а є тільки один метод: перезавантажувана операція (). Клас часто роблять шаблонним, щоб можна було працювати з різними типами даних.