其他分享
首页 > 其他分享> > 318-学习STL的map和函数对象(1)

318-学习STL的map和函数对象(1)

作者:互联网

学习STL的map

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

学习map的<pair.h>

定义
在这里插入图片描述
两个键值对的比较,=,<
在这里插入图片描述
制造键值对并返回
在这里插入图片描述

学习STL的仿函数,函数对象

最大的特点是在类里面重载了()
在这里插入图片描述

泛型算法和函数对象
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
看下面的例子
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们增加代码
在这里插入图片描述
在这里插入图片描述
我们再增加代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在C++中,我们用仿函数替代函数指针
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

学习函数对象的库文件

定义一元仿函数和二元仿函数
在这里插入图片描述
在这里插入图片描述
加法仿函数
在这里插入图片描述
减法仿函数
在这里插入图片描述
乘法仿函数
在这里插入图片描述

除法仿函数
在这里插入图片描述
取余仿函数
在这里插入图片描述
取负数(单目)仿函数 负的变正的,正的变负的
在这里插入图片描述

=仿函数
在这里插入图片描述
!=仿函数
在这里插入图片描述
>仿函数 和 <仿函数
在这里插入图片描述

下面是>=仿函数 和 <=仿函数
在这里插入图片描述
逻辑&& || !仿函数
在这里插入图片描述
在这里插入图片描述
看一下<algo.h>的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们修改一下for_each函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用map

map底层是红黑树

我们给出年龄和姓名的对称点
我们的map的第一个(关键码)是int,第二个(数据)是字符串。排序方式是默认的从小到大排序。

我们插入一条数据
在这里插入图片描述
形成了一个键值对,first是23,second是yhping

插入数据,迭代器迭代,输出

在这里插入图片描述
相当于把 23,yhping这些数据放入了
在这里插入图片描述
运行程序
在这里插入图片描述
我们修改主函数,用高于的方式,排序从大到小
在这里插入图片描述
在这里插入图片描述
我们继续在主函数增加代码
在这里插入图片描述
在这里插入图片描述
我们查看at的定义
在这里插入图片描述

标签:map,318,函数,STL,学习,键值,我们
来源: https://blog.csdn.net/LINZEYU666/article/details/117170600