C++:什么是STL
2021/9/16 22:04:51
本文主要是介绍C++:什么是STL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.1 什么是STL
STL:Standard Template Library,标准模板库。
STL 是 C++ 的一部分,不用额外安装,被内建在支持 C++ 的编译器中。
STL 的算法是标准算法,其实现了将已经定义好的算法应用在容器的对象上。
STL的容器和算法之间通过迭代器进行无缝连接。
1.2 STL六大组成部分
- 容器
- 算法
- 迭代器
- 仿函数
- 适配器
- 空间配置器(内存配置器)
下面主要介绍容器。
1.2.1 容器
STL各容器详细请参考:
STL之string容器
STL之vector容器
STL之deque容器
STL之stack容器
STL之queue容器
STL之list容器
STL之set/multiset容器
STL之map/multimap容器
各容器的特点:
-
vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述。
-
deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加。如果采用vector,则头端移除时,会移动大量的数据,速度慢。
-
list的使用场景:比如公交车乘客的存储,随时可能有乘客下车,支持频繁的不确实位置元素的移除插入。
-
set的使用场景:比如对手机游戏的个人得分记录的存储,存储要求从高分到低分的顺序排列。
-
map的使用场景:比如按ID号存储十万个用户,想要快速要通过ID查找对应的用户。二叉树的查找效率,这时就体现出来了。如果是vector容器,最坏的情况下可能要遍历完整个容器才能找到该用户。
参考:
- http://c.biancheng.net/view/1436.html
- https://blog.csdn.net/weixin_41969690/article/details/106648441
- https://blog.csdn.net/piaoxuezhong/article/details/54348787
这篇关于C++:什么是STL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享
- 2024-07-03微信支付提示订单号重复-icode9专业技术文章分享
- 2024-07-02微服务启动nacos注册上去了,但是一直没有收到请求-icode9专业技术文章分享
- 2024-07-02如何检查文件的编码格式-icode9专业技术文章分享
- 2024-07-02sublime 更改编码格式-icode9专业技术文章分享
- 2024-06-30uniAPP 实现全屏左右滚动滚动的效果-icode9专业技术文章分享
- 2024-06-30如何在本地使用授权或插件-icode9专业技术文章分享
- 2024-06-30伪静态规则配置方法汇总-icode9专业技术文章分享
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享