13.4.1  等于(equal_to<type>())

13.4.1 等于(equal_to<type>())

仿函数类eaual_to<type>是一种自适应一元谓词。该仿函数可用于验证某条件的真伪。若f是类equal_to<T>的对象,并且x与y为型别T的值,仅在x==y时,f(x,y)才会返回true。

使用仿函数equal_to时,必须包含头文件<functional>。参数type是仿函数参数的型别。其基类为:

978-7-111-51399-5-Chapter13-32.jpg

仿函数类equal_to包含了5个成员函数:

1)equal_to::first_argument_type。该成员函数代表第一个参数的型别T。

2)equal_to::second_argument_type。该成员函数代表第二个参数的型别T。

3)equal_to::result_type。该成员代表执行结果的型别bool。

4)boolequal_to::operator()(const T& x,const T& y)const。该成员函数代表函数调用操作符。其返回值为x==y。

5)equal_to::equal_to()。该成员代表该仿函数类的默认构造函数。使用示例:

978-7-111-51399-5-Chapter13-33.jpg

下面给出例13-9,用以说明仿函数equal_to<type>()的使用方法。

例13-9

978-7-111-51399-5-Chapter13-34.jpg

例13-9的执行结果为:

978-7-111-51399-5-Chapter13-35.jpg

例13-9的作用是将序列中等于零的元素放置在序列的前面。