本质上理解C++STL的六大组件
admin
2024-04-16 13:48:21
0

很久没更了,天天在工位好忙

今天更新STL六大组件:容器、算法、迭代器、 仿函数、适配器(配接器)、空间配置器。

首先说容器和算法,这是我们从使用角度来说,最受关注的两部分

容器:各种数据结构,如vector、list、deque、set、map等,⽤来存放数据,从实现⾓度来看, STL容器是⼀种class template

算法:如sort、find、copy。从实现的⾓度来看,STL算法是⼀种 function tempalte

接下来就是迭代器

为什么要有迭代器?

如果没有迭代器会怎样?

有什么样的迭代器?

如果没有迭代器,访问stl就需要暴露容器底层结构及实现细节,封装性就不在了。而且会导致使用者的门槛变高,比如访问map,需要对二叉树的遍历掌握,成本很高。

有了迭代器之后,能够封装隐藏底层的实现细节,并且提供统一的方式去访问容器,降低了使用者的成本

一般来说迭代器一共有五类:输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器。后三类比较重要,因为他们是关联着不同的容器和算法,支持的功能不同。

还有仿函数

仿函数的优缺点?

优点:
1)仿函数比函数指针的执行速度快,函数指针是通过地址调用,而仿函数是对运算符operator()重载来提高调用的效率。
2)仿函数比一般函数灵活,可以同时拥有两个不同的状态实体,一般函数不具备此种功能。
3)仿函数可以作为模板参数使用,因为每个仿函数都拥有自己的类型。
缺点:
1)需要单独实现一个类。
2)定义形式比较复杂

一般最常用的就是map/set的key比较大小的规则,用来排序

还有unordered_map/unordered_set的key转换成整形的规则,减小冲突率

sort排序规则

适配器:有stack/queue/priority_queue,反向迭代器也是适配器,封装了正项迭代器。

体现的就是复用,降低了使用成本。

空间配置器:其实就是mini内存池,容器需要频繁申请和释放小块内存,空间配置器就可以开小灶,提高效率

相关内容

热门资讯

安卓系统7.0上线时间,回顾2... 你知道吗?安卓系统7.0的上线时间可是个让人津津乐道的话题呢!自从这个系统发布以来,它就以其独特的功...
安卓系统的回收机制,回收机制背... 你有没有发现,你的安卓手机有时候会突然变得“健忘”呢?比如,你刚刚打开的那个网页,怎么一转眼就找不到...
车载安卓大屏系统低,打造智能出... 你有没有发现,现在的车载系统越来越智能了?尤其是那些搭载安卓大屏系统的车,简直就像是个移动的智能小助...
电池用量安卓系统好大,电池消耗... 你有没有发现,自从换了安卓手机,电池消耗得特别快?是不是觉得自己的手机像喝醉了酒一样,没一会儿就“醉...
安卓和鸿蒙系统大小,系统规模对... 你有没有发现,手机里的操作系统就像是个小宇宙,里面藏着大大的秘密?今天,咱们就来聊聊安卓和鸿蒙系统,...
安卓查看系统操作日志,深度解析... 你有没有想过,你的安卓手机里隐藏着一个个小秘密?没错,就是那些神秘的系统操作日志。这些日志就像是一扇...
安卓系统设置软件自启,安卓系统... 手机里的安卓系统是不是越来越卡了?是不是觉得有些软件总是偷偷自启,消耗你的电量,占用你的内存?别急,...
读伴儿安卓系统如何安装,安卓系... 你有没有想过,让你的手机阅读体验更加个性化?那就得来点新花样!今天,就让我来带你一探究竟,如何让你的...
神盾系统安卓9,探索全新智能体... 亲爱的读者们,你是否对安卓系统的最新版本——安卓9.0“Pie”感到好奇?特别是那个神秘的“神盾系统...
乐视手机重装安卓系统,重塑乐视... 你有没有想过,一部手机的重生可以如此精彩?今天,就让我带你一起探索一下乐视手机重装安卓系统的奇妙之旅...
车载安卓系统分屏显示,智能驾驶... 你有没有发现,现在的车载系统越来越智能了?尤其是那些搭载了安卓系统的车载设备,分屏显示功能简直让人爱...
手机刷入纯安卓系统,畅享原生流... 你有没有想过,你的手机是不是也能像新的一样,流畅得飞起?没错,今天就要来跟你聊聊这个神奇的操作——手...
鸿蒙底层和安卓系统对比,底层架... 你知道吗?最近手机圈里可是热闹非凡呢!鸿蒙系统和安卓系统,这两大操作系统之间的较量,简直就像是一场没...
安卓平板怎么刷凤凰系统,凤凰系... 你有没有想过给你的安卓平板来个焕然一新的变身?没错,就是刷上凤凰系统!听起来是不是有点小激动?别急,...
安卓系统旗舰店,尽享智能生活新... 你有没有发现,最近手机市场又热闹起来了?安卓系统旗舰店成了大家热议的焦点。这不,我就来给你好好扒一扒...
安卓手机系统光之韵律,光之韵律... 你有没有发现,最近你的安卓手机系统是不是变得特别有活力呢?没错,我要说的就是那个让人眼前一亮的“光之...
安卓系统大版本更新失败,揭秘原... 最近你的安卓手机是不是也遇到了大麻烦?没错,就是那个让人又爱又恨的安卓系统大版本更新失败!这可真是让...
安卓13车载系统,智能驾驶新篇... 你有没有发现,最近你的手机系统又升级了?没错,就是那个陪伴我们日常生活的安卓系统,它又迎来了全新的版...
安卓系统手机取证方式,深度揭秘... 你有没有想过,当你的安卓手机里藏着无数秘密时,如何让这些秘密浮出水面呢?没错,我要说的就是安卓系统手...
安卓系统安装不鸟,安卓系统轻松... 最近是不是你也遇到了安卓系统安装不鸟的烦恼?别急,让我来给你详细说说这个棘手的问题,让你轻松解决它!...