STL(标准模板库)是 C++ 标准库核心,提供容器、算法、迭代器等高效通用组件。
STL 组成
容器
| 类型 | 容器 |
|---|
| 顺序容器 | vector、deque、list |
| 关联容器 | map、set、unordered_map、unordered_set |
算法
| 类型 | 算法 |
|---|
| 排序 | sort、stable_sort |
| 搜索 | find、binary_search |
| 修改 | copy、replace、transform |
迭代器
输入、输出、前向、双向、随机访问迭代器。
其他组件
- 函数对象:可当作函数使用的对象
- 适配器:
stack、queue 等
STL 重要性
- 高效性:容器和算法高度优化
- 重用性:模板和迭代器支持代码重用
- 标准化:跨平台一致接口
- 易用性:高层次抽象
C++ 标准库其他部分
| 组件 | 说明 |
|---|
| I/O | iostream 文件和控制台操作 |
| 并发 | thread、mutex、condition_variable |
| 时间 | <chrono> 时间处理 |
| 内存 | 智能指针 shared_ptr、unique_ptr |
| 字符串 | <string> 字符串操作 |
| 随机数 | <random> 随机数生成 |
学习建议
- 掌握 C++ 模板、类、迭代器基础
- 参考官方文档和书籍
- 实战练习不同容器和算法
- 阅读源码理解底层实现
- 学习选择合适的容器与算法组合