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. 算法
  3. 迭代器
  4. 仿函数
  5. 适配器
  6. 空间配置器(内存配置器)

下面主要介绍容器。

1.2.1 容器

STL各容器详细请参考:

STL之string容器
STL之vector容器
STL之deque容器
STL之stack容器
STL之queue容器
STL之list容器
STL之set/multiset容器
STL之map/multimap容器

各容器的特点:

image

  • vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述。

  • deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加。如果采用vector,则头端移除时,会移动大量的数据,速度慢。

  • list的使用场景:比如公交车乘客的存储,随时可能有乘客下车,支持频繁的不确实位置元素的移除插入。

  • set的使用场景:比如对手机游戏的个人得分记录的存储,存储要求从高分到低分的顺序排列。

  • map的使用场景:比如按ID号存储十万个用户,想要快速要通过ID查找对应的用户。二叉树的查找效率,这时就体现出来了。如果是vector容器,最坏的情况下可能要遍历完整个容器才能找到该用户。

参考:

  1. http://c.biancheng.net/view/1436.html
  2. https://blog.csdn.net/weixin_41969690/article/details/106648441
  3. https://blog.csdn.net/piaoxuezhong/article/details/54348787


这篇关于C++:什么是STL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程