函数对象

重载函数调用操作符 (),其对象常称为函数对象

  • 函数对象可以有自己的状态
  • 函数对象可以作为参数传递
  • 一个参数的函数对象叫做一元仿函数
  • 两个参数的函数对象叫做二元仿函数

什么是谓词

返回 bool 类型的仿函数称为谓词

一元谓词

如果 operator() 接受一个参数,那么叫做一元谓词

比如 find_if 算法

二元谓词

如果 operator() 接受两个参数,那么叫做二元谓词

比如 sort 算法