标准模板库(STL)是一组C ++模板类, 用于提供常见的编程数据结构和功能, 例如列表, 堆栈, 数组等。它是容器类, 算法和迭代器的库。它是一个通用库, 因此其组件已参数化。的工作知识模板类是使用STL的先决条件。
STL具有四个组成部分
- 算法
- 容器
- 函数
- 迭代器
算法
标头算法定义了一组专门设计用于元素范围的函数集合, 它们作用于容器并为容器的内容提供各种操作手段。
- 算法
- 排序
- 搜索
- 重要的STL算法
- 有用的数组算法
- 分区操作
- 数字
- valarray类
容器
容器或容器类存储对象和数据。总共有七个标准的"一流"容器类和三个容器适配器类, 并且只有七个头文件可提供对这些容器或容器适配器的访问。
序列容器:实现可以按顺序访问的数据结构。
- 向量
- list
- 双端队列
- 数组
- forward_list(在C ++ 11中引入)
容器适配器:为顺序容器提供不同的接口。
- 队列
- priority_queue
- stack
关联容器:实现可以快速搜索的排序数据结构(O(log n)复杂度)。
- set
- multiset
- map
- multimap
无序关联容器:实现可以快速搜索的无序数据结构
- unordered_set(在C ++ 11中引入)
- unordered_multiset(在C ++ 11中引入)
- unordered_map(在C ++ 11中引入)
- unordered_multimap(在C ++ 11中引入)
自适应容器和无序容器的流程图
序列容器和有序容器的流程图
函数
STL包含使函数调用运算符重载的类。这种类的实例称为函数对象或函子。函子允许在要传递的参数的帮助下自定义关联功能的工作。
- 函子Functors
迭代器
顾名思义, 迭代器用于处理一系列值。它们是允许在STL中通用的主要功能。
- 迭代器
实用程序库
在头文件<utility>中定义。
- pair
参考文献:
- http://en.cppreference.com/w/cpp
- http://cs.stmarys.ca/~porter/csc/ref/stl/headers.html
- http://www.cplusplus.com/reference/stl/
关于STL的最新文章!
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。
被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。