🐸 青蛙编程网

C++ STL

STL(标准模板库),C++ 生态最常用的轮子集:容器、算法、迭代器全是现成的,写 C++ 十有八九天天在用。前置:C++ 基础。

章节规划

章节 内容 你会学到 状态
1. STL 是什么 容器/算法/迭代器三件套总览 容器装数据、算法加工、迭代器指路 ✅ 已上线
2. vector 最常用的动态数组 定义、增删、遍历、自动扩容 ✅ 已上线
3. string 字符串处理 拼接、长度、substr、find、中文长度坑 ✅ 已上线
4. map 与 set 键值对与去重 map 像字典,set 自动去重排序 ✅ 已上线
5. 综合练习 用 STL 做一个通讯录 全章容器串联,实战增删查改 ✅ 已上线

适合谁看

  • 已学完 C++ 基础,会类、指针、引用
  • 想写更实用的 C++ 代码,不想手写链表、排序等轮子
  • 准备进入数据结构与算法学习

STL 和 Python 内置容器对照

需求 Python C++ STL 头文件
动态数组 list std::vector <vector>
键值对字典 dict std::map <map>
去重集合 set std::set <set>
字符串 str std::string <string>
排序 sorted() std::sort() <algorithm>
查找 in / .index() std::find() <algorithm>

最大的差别:Python 把这些都内置了,STL 得先 #include 对应头文件,再带上 std:: 前缀。麻烦一点点,换来的是对内存的精打细算。

记忆口诀

容器装数据,算法来加工,迭代器当桥,三件套齐活。

动手建议

  1. 每章代码都建议本地编译运行一遍,熟悉 #include 和 std:: 的用法
  2. 完成《通讯录》练习后,试着加上"按姓名排序""按电话搜索"功能
  3. 学会 vector、string、map 这三个后,绝大多数日常任务都能搞定

零基础建议先过一遍 Python 找感觉,再来啃 C++ 🐸