STL函数对象回顾

一、函数对象概念

1、重载函数调用操作符的类的对象称为函数对象

2、函数对象使用重载的函数调用操作符时,行为类似函数调用,因此也称其为仿函数

3、函数对象可以有返回值,可以有参数,可以像普通函数一样调用

4、与普通函数不同的是:函数对象可以有自己的状态,函数对象可以作为参数传递

二、谓词

1、返回类型为bool类型的仿函数称为谓词,其参数为一个,则是一元谓词,参数为两个,则是二元谓词

三、内建函数对象

STL内建了一些函数对象,使用内建函数对象需要引入头文件<functional>主要是以下几大类

1、算数仿函数

(1)加法仿函数:plus<T> a; a(num1, num2);

(2)减法仿函数:minus<T> a; a(num1, num2);

(3)乘法仿函数:multiplies<T> a; a(num1, num2);

(4)除法仿函数:divides<T> a; a(num1, num2);

(5)取模仿函数:modulus<T> a; a(num1,num2);

(6)取反仿函数:negate<T> a; a(num);

2、关系仿函数

(1)等于仿函数:equal_to<T> a; a(num1, num2);

(2)不等于仿函数:not_equa_to<T> a; a(num1, num2);

(3)大于仿函数:greater<T> a; a(num1, num2);

(4)大于等于仿函数:greater_equal<T> a; a(num1, num2);

(5)小于仿函数:less<T> a; a(num1, num2);

(6)小于等于仿函数:less_equal<T>a; a(num1, num2);

3、逻辑仿函数

(1)逻辑与:logical_and<T> a; a(num1, num2);

(2)逻辑或:logical_or<T> a; a(num1, num2);

(3)逻辑非:logical_not<T> a; a(num1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值