Попробую рассказать.
Некоторые поисковые функции STL требуют для работы функцию. Например,
www.cplusplus.com/reference/algorithm/find_if или
www.cplusplus.com/reference/algorithm/sort (второй вариант).
А что делать, если какие-то параметры поиска или сортировки задаются программно? Можно, конечно, эти параметры сделать глобальными переменными — но, как известно, «избегайте незнакомых женщин и глобальных переменных». В таком случае используют т.н. функтор — некий объект с операцией (). Другими словами, его «вызывают», как функцию. Все изменяемые параметры будут храниться в полях этого объекта.