- #include<functional>
- 函数对象是重载了operator()的类的一个实例
- 按参数个数分为发生器(0个参数)一元函数、二元函数
- 一元函数派生于unary_function;二元函数派生于binary_function
- 系统函数对象
- 算数类
- plus<T>,minus<T>,multiples<T>,divides<T>,modules<T>(取模),negate<T>(否定)
- equal_to<T>,not_equal_to<T>,greater<T>,less<T>,greater_equal<T>,less_equal<T>
- logical_and<T>,logical_or<T>,logical_not<T>
- 用法示范:plus<int>()(2,4)
- 函数适配器
- 绑定
- bind1st();
- bind2nd() bind2nd(less<int>(),4)小于4
- 取反
- not1 一元函数
- not2二元函数
- 成员函数适配器
- mem_fun集合是基于对象指针的vector<Student*>
- mem_fun_ref集合是基于对象的,如vector<Student>
- for_each(v.begin(),v.end(),Student::show)是错误的!!必须for_each(v.begin(),v.end(),mem_fun_ref(Student::show));
- 普通函数适配器
- ptr_fun
- 系统函数对象
- 算数类
- plus<T>,minus<T>,multiples<T>,divides<T>,modules<T>(取模),negate<T>(否定)
- equal_to<T>,not_equal_to<T>,greater<T>,less<T>,greater_equal<T>,less_equal<T>
- logical_and<T>,logical_or<T>,logical_not<T>
- 用法示范:plus<int>()(2,4)
- 函数适配器
- 绑定
- bind1st();
- bind2nd() bind2nd(less<int>(),4)小于4
- 取反
- not1 一元函数
- not2二元函数
- 成员函数适配器
- mem_fun集合是基于对象指针的vector<Student*>
- mem_fun_ref集合是基于对象的,如vector<Student>
- for_each(v.begin(),v.end(),Student::show)是错误的!!必须for_each(v.begin(),v.end(),mem_fun_ref(Student::show));
- 普通函数适配器
- ptr_fun
- 绑定