1️⃣ 标准模板库(STL)

STL 全称 Standard Template Library(标准模板库),是 C++ 提供的一套通用工具集合,主要包括:

  1. 容器(Containers):用来存储数据的类模板,比如数组、链表、集合、映射等。

  2. 算法(Algorithms):对容器里的数据进行操作的函数,比如排序、查找、拷贝、删除等。

  3. 迭代器(Iterators):类似指针,用于遍历容器里的元素。

⚡ 简单比喻:

  • 容器 = 盒子

  • 算法 = 工具

  • 迭代器 = 手指(用来指哪一格盒子)


2️⃣ 容器(Container)

容器就是 存放数据的对象。它们可以存储 多个元素,并提供一些操作接口,比如:

  • 增加元素(push_back / insert)

  • 删除元素(erase / pop)

  • 访问元素(operator[] / at / front / back)

STL 的容器有很多类型,按用途可以分成三大类:

2.1 序列容器(Sequence Containers)

按顺序存储元素,可以像数组一样访问。
常用的有:

  • vector → 动态数组,连续内存,随机访问快

  • deque → 双端队列,两端插入快

  • list → 双向链表,中间插入删除快

  • forward_list → 单向链表

  • array → 固定大小数组,内存连续

2.2 关联容器(Associative Containers)

自动按 key 排序,内部通常用 红黑树 实现:

  • set / multiset → 存储唯一值 / 可重复值

  • map / multimap → key-value 映射

2.3 无序关联容器(Unordered Containers)

用哈希表实现,无序,但查找、插入快:

  • unordered_set, unordered_map 等


💡 总结:

  • STL = 容器 + 算法 + 迭代器

  • 容器类型 = 用于存储数据的不同“盒子”

  • 每种容器都有自己的特性(是否连续、插入删除快慢、是否排序等)


Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐