标准模板库(STL)是一组C++模板类,用于提供常见的编程数据结构和功能,例如列表,堆栈,数组等。它是容器类,算法和迭代器的库。它是一个通用库,因此其组件已参数化。模板类的工作知识是使用STL的先决条件。
STL具有四个组成部分
- 演算法
- 货柜
- 职能
- 迭代器
演算法
标头算法定义了一组专门设计用于元素范围的函数集合,它们作用于容器并为容器的内容提供各种操作手段。
- 算法
- 排序
- 搜寻中
- 重要的STL算法
- 有用的阵列算法
- 分区操作
- 数字
- valarray类
货柜
容器或容器类存储对象和数据。总共有七个标准的“一流”容器类和三个容器适配器类,只有七个头文件可提供对这些容器或容器适配器的访问。
- 序列容器:实现可以按顺序访问的数据结构。
- 向量
- 列表
- 双端队列
- 数组
- forward_list(在C++ 11中引入)
- 容器适配器:为顺序容器提供不同的接口。
- 队列
- priority_queue
- 堆
- 关联容器:实现可以快速搜索的排序数据结构( O(log n)复杂度)。
- 放
- 多集
- 地图
- 多图
- 无序关联容器:实现可以快速搜索的无序数据结构
- unordered_set(在C++ 11中引入)
- unordered_multiset(在C++ 11中引入)
- unordered_map(在C++ 11中引入)
- unordered_multimap(在C++ 11中引入)
职能
STL包含使函数调用运算符重载的类。这种类的实例称为函数对象或函子。函子允许在要传递的参数的帮助下自定义关联函数的工作。
- 函子
迭代器
顾名思义,迭代器用于处理一系列值。它们是允许在STL中通用的主要功能。
- 迭代器
实用程序库
在头文件
- 一对
参考:
- http://en.cppreference.com/w/cpp
- http://cs.stmarys.ca/~porter/csc/ref/stl/headers.html
- http://www.cplusplus.com/reference/stl/
关于STL的最新文章!
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。