16.5.2 预定义的函数符
### STL定义了多个基本函数符,它们执行诸如将两个值相加、比较两个值是否相等等操作。提供这些函数对象
### 是为了支持将函数作为参数的STL函数,因为‘ + ’、‘ - ’、‘ * ’、‘ / ’等符号是内置的运算符,而不是函数符。
### 头文件functional(以前为function.h)定义了多个模板类函数对象,可以使用这些模板类生成函数符以完成运算。
### 对于所有内置的算术运算符、关系运算符和逻辑运算符,STL都提供了等价的函数符。它们可以用于处理C++内置
### 类型或任何用户自定义类型(如果重载了相关的运算符)
### 运算符和相应的函数符:
| 运算符 | 相应的函数符 |
| + | plus |
| -(减号) | minus |
| * | multiplies |
| / | divides |
| % | modulus |
| -(负号) | negate |
| == | equal_to |
| != | not_equal_to |
| > | greater |
| < | less |
| >= | greater_equal |
| <= | less_equal |
| && | logical_and |
| || | logical_or |
| ! | logical_not |
注意:老式C++实现使用函数符名times,而不是multiplies。
使用例子: transform(gr8.begin(), gr8.end(), m8.begin(), out, plus<double> ()); // 括号表示调用默认构造函数
浙公网安备 33010602011771号