仿函数(函数对象)可以自定义,使用起来较灵活并且可扩展性强。但是系统对于一些基本的仿函数已经内置了,在引入头文件之后就可以直接使用
仿函数功能:在调用函数(支持仿函数的算法/函数,例如sort
、for_each
、find_if
)的时候,如果需要改变该函数的默认规则,则可以通过传递指定的仿函数来改变该规则
在使用内置仿函数时,需要引入头文件#include <functional>
算术仿函数
-
实现四则运算
-
仿函数原型:
template<class T> T plus<T>
// 加法仿函数template<class T> T minus<T>
// 减法仿函数template<class T> T multiplies<T>
// 乘法仿函数template<class T> T divides<T>
// 取模仿函数template<class T> T modulus<T>
// 取模仿函数template<class T> T negate<T>
// 取反仿函数(一元仿函数即只操作一个数)
-
示例