一、functional头文件包含的对象
二、使用场景
- 标准库定义了一组表示算术运算符、关系运算符、逻辑运算符的类,每个类分别定义了一个执行命名操作的调用运算符
- 这些类都被定义成模板的形式,我们可以为其制定具体的应用类型
例如:
- plus类:定义了一个函数调用运算符用于对一对运算对象执行“+”操作
- modulus类:定义了一个调用运算符执行二元的“%”操作
- negate类:对数取反
- equal_to类执行“==”
等等......
三、演示案例
- plus与negate演示
plus<int> intAdd; negate<int> intNegate; int sum = intAdd(10, 20); //sum=10+20=30 sum = intNegate(intAdd(10, 20));//sum=-30(先得到30然后取反) sum = intAdd(10, intNegate(10));//sum=10-10=0
greater演示
- 默认情况下,sort会按照升序排列,使用了下面之后,sort就按照降序排列