STL解析

C++中的神兵利器 —— STL

前言

STL是C++开发学习中的重要一环,因为它使得我们在开发过程中能够更便捷、高效地实现我们想要的操作。此前我也系统地学过了一遍STL,这些天再次学习回顾,发现了不少新东西,于是乎我决定把一些重要的知识点以及自己的理解总结记录下来,下面我们一起来学习交流吧。

STL介绍

  • STL(Standard Template Library),其实就是标准模板库,其中包含有大量的模板类和模板函数,可以供C++的开发者使用,其高效、便捷、安全可靠。
  • STL 最初由惠普实验室开发,于 1998 年被定为国际标准,正式成为 C++ 程序库的重要组成部分。值得一提的是,如今 STL 已完全被内置到支持 C++ 的编译器中,无需额外安装,这可能也是 STL 被广泛使用的原因之一。
  • 通俗的来说,STL其实就是一些容器、算法及其他的一些组件的集合,是一个很棒的库,有了这个库,我们就可以直接使用、调用这个库里的东西来完成一些操作,就不用再重复造一些轮子了,大大提高了开发效率,这也是为什么STL在C++编程中重要的原因。

六大组件

STL的设计思想是将数据结构和算法进行分离,使得他们可以独立使用和扩展,提高了代码的复用性和可读性。
STL主要包含六大组件:

  • 容器(Containers):如动态数组(vector)、链表(list)、双端队列(deque)、对(pair)、
    映射(map)、集合(set)等
  • 算法(Algorithms):如排序、查找、合并、计数等。
  • 迭代器(Iterator):是一种抽象的数据类型,可用于访问容器中的元素,STL中的五种迭代器:输入迭代器(Input Iterator)、输出迭代器(Output Iterator)、前向迭代器(Forward Iterator)、双向迭代器(Bidirectional Iterator)和随机访问迭代器(Random Access Iterator)
  • 仿函数(Functor):就是使一个类的使用看上去像一个函数。如加减乘除、大小比较等
  • 适配器(Adaptor):其实就是一种基于基础容器来实现的一些带有特定功能的容器模板类。如stack、queue、priority_queue等、
  • 空间配置器(Allocator):用得最少的,但是它总是隐藏在一切组件的背后,默默工作。通俗的说,整个STL的操作对象都存放在容器之中(vertor、list),而容器一定需要配置空间以放置资料,这就是空间配置器的作用。

一、容器

序列式容器

vector

deque

list

补充:C++标准库中的String类

关联式容器

二、算法

三、迭代器

四、仿函数

五、适配器

六、空间配置器

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022-2025 Capper
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信