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> ()); // 括号表示调用默认构造函数 

原文地址:https://www.cnblogs.com/suui90/p/13549589.html