C++标准模板库(STL)介绍和指南

2021年3月22日15:29:20 发表评论 843 次浏览

标准模板库(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中引入)
C ++标准模板库(STL)1

自适应容器和无序容器的流程图

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

序列容器和有序容器的流程图

函数

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通过激烈的问题解决过程来训练和掌握这些概念。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: