# 标准模板库 STL 编程初步 —— 飞宝课独立导读
课程简介
本课程面向零基础或初学泛型编程的同学,系统讲解 C++ 标准模板库(STL)的核心思想与实际用法。STL 是 C++ 标准库中最为强大、也是日常开发中使用最频繁的组件,掌握它,等于为你的 C++ 编程能力装上了"工业级工具箱"。课程从设计思想出发,由浅入深,逐层揭开 STL 的构造逻辑,帮助你真正理解"为什么这样设计",而不是死记硬背 API。
---
内容导览
**第 1 节 · 导学**(03:22)
开宗明义,介绍 STL 的起源、设计理念以及在现代 C++ 中的地位。明确学习路径与预期收获,让你对后续内容建立清晰的心理地图。
**第 2 节 · 泛型程序设计**(09:31)
STL 的灵魂是泛型。本节先讲清楚模板(template)的基本语法与类型推断机制,这是理解所有 STL 组件的前提。务必学透,后续每节都会反复用到这里的概念。
**第 3 节 · STL 结构概览**(13:49)
站在宏观视角,了解 STL 的五大组成:容器(Containers)、迭代器(Iterators)、算法(Algorithms)、函数对象(Functors)、适配器(Adapters)。本节不深究细节,目的是建立一个完整的知识框架图。
**第 4 节 · 迭代器**(22:53)
迭代器是连接容器与算法的桥梁,也是 STL 最精妙的设计之一。本节详细讲解五种迭代器类别(输入、输出、前向、双向、随机访问)的能力差异与适用场景,配合代码演示迭代器的基本操作。
**第 5 节 · 容器的分类与基本功能**(09:18)
容器按存储方式分为顺序容器和关联容器两大阵营。本节对比两者的核心差异:插入/查找/遍历的时间复杂度、内存布局特点,以及各自最适合的用途。
**第 6 节 · 顺序容器**(21:06)
深入讲解 `vector`、`deque`、`list`、`forward_list`、`array` 五个顺序容器的特性与选用原则。重点区分 `vector` 与其他容器的性能边界,避免"什么场景都用 vector"的常见误区。
**第 7 节 · 关联容器**(26:12)
重点讲解 `set`、`multiset`、`map`、`multimap`、`unordered_set`、`unordered_map` 六大关联容器。明确红黑树与哈希表两种底层结构的取舍,掌握键值映射场景下的最佳实践。
**第 8 节 · 函数对象**(15:47)
介绍仿函数(Functor)的概念:为什么它比普通函数更高效?如何自定义比较器与操作器?本节配合 `sort`、`find_if` 等算法的实际调用示例,让你直观感受函数对象的威力。
**第 9 节 · 函数适配器**(15:06)
适配器是对函数、容器、迭代器的再包装。本节讲解 `bind`、`lambda`(C++11 起的重要替代方案)、`not1`/`not2` 等适配技巧,以及如何将多个小函数组合成大函数。
**第 10~11 节 · STL 基本算法**(09:46 + 18:14)
集中讲解 `<algorithm>` 中最常用的算法:`sort`、`find`、`count`、`for_each`、`transform`、`merge` 等。第二节为进阶补充,涵盖数值算法与集合运算。建议配合动手练习,切忌只看不动手。
---
学习建议
- **先理解再记忆**:STL 的 API 很多,但设计思想高度统一。理解"泛型 + 迭代器 + 算法"这个三角模型,大部分内容可以自行推导。
- **每节配代码**:建议同步在编译器中敲一遍演示代码,调试过程会加深记忆。
- **重点突破容器选型**:实际开发中,"选什么容器"往往比"怎么用容器"更重要。第 5~7 节请反复对照时间复杂度表。
- **算法一节不要跳过**:STL 算法是效率与可读性的双重保障,熟练掌握后代码量可减少一半以上。
---
学完本课后,你将能够自信地在项目中选用合适的 STL 组件,写出高效、简洁、符合现代 C++ 风格的代码。欢迎开始学习!
课程目录
课程目录11 集
- 1 导学 (03:22).mp4
- 2 泛型程序设计 (09:31).mp4
- 3 STL结构概览 (13:49).mp4
- 4 迭代器 (22:53).mp4
- 5 容器的分类与基本功能 (09:18).mp4
- 6 顺序容器 (21:06).mp4
- 7 关联容器 (26:12).mp4
- 8 函数对象 (15:47).mp4
- 9 函数适配器 (15:06).mp4
- 10 STL基本算法 (09:46).mp4
- 11 STL基本算法(续) (18:14).mp4






