类中()运算符重载的成员函数本质是一个类的对象,因此也称为函数对象,即仿函数,可做函数参数
lambda表达式,标志为[],如[](int a){cout<<a<<endl;}
内建函数对象#include <functional>
6个算数类函数对象,除了negate是一元运算,其他都是二元运算。
template<class T> T plus<T>//加法仿函数 plus<int>(10,4);
template<class T> r minus<T>/ /球法仿函数
template<class T> T multiplies<T>//乘法仿函数
tenplate<class T> T divides<T>//除法仿函数
tenplate<class T> T modulus<T>//取模仿函数
template<class T> T negate<T>//取反仿函数 negate<int>n
6个关系运算关函数对象,每一种都是二元运算
template<class T> bool equal_to<T>//等于
template<class T> bool not_equal_to<T>//不等于
template<elass T> bool greater<T>//大于 greater<int>()
template<class T> bool greater_eqa1<T>//大于等于
template<class T> bool less<T>//小于
tenplate<class T> bool less_equal<T>//小于等于
逻辑运算类运算函数,not为一元运算,其余为二元运算
template<class T> bool logical_ard<T>//逻辑与
tenplate<class T> bool logical_or<T>/ /逻辑或
template<class T> bool logical_not<T>/1逻辑非
适配器
函数对象适配器:1.利用内建函数对象bind2nd来将两个参数绑定为一个参数
2.子类继承public binary_functional<参数1 类型,参数2类型,返回值类型>
取反适配器:not(n)+bind2nd,n代表n元函数对象
函数指针适配器:ptr_fun,将一个普通函数适配为函数对象
成员函数适配器:mem_fun_ref(&person::showage)