📜  C++标准模板库(STL)

📅  最后修改于: 2021-05-30 02:12:53             🧑  作者: Mango

标准模板库(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等的更多准备工作,请参阅“完整面试准备课程”