C++ 标准库
C++ 标准库包括一组头文件,这些头文件提供了各种功能和工具,涵盖了输入输出、容器、算法、多线程、正则表达式等。
C++ 标准库可以分为两部分:
- 标准函数库: 这个库是由通用的、独立的、不属于任何类的函数组成的。函数库继承自 C 语言。
- 面向对象类库: 这个库是类及其相关函数的集合。
C++ 标准库包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和修改。
以下是 C++ 标准库的主要组件分类及对应的头文件列表:
输入输出
容器
<array>
: 定长数组容器<vector>
: 动态数组容器<deque>
: 双端队列容器<list>
: 双向链表容器<forward_list>
: 单向链表容器<stack>
: 栈容器适配器<queue>
: 队列容器适配器<priority_queue>
: 优先队列容器适配器<set>
: 集合容器(基于平衡二叉树)<unordered_set>
: 无序集合容器(基于哈希表)<map>
: 映射容器(键值对,基于平衡二叉树)<unordered_map>
: 无序映射容器(基于哈希表)<bitset>
: 二进制位容器
算法和迭代器
<algorithm>
: 常用算法(如排序、查找等)<iterator>
: 迭代器
函数对象和绑定
<functional>
: 定义函数对象及相关工具
数学和数值运算
<numeric>
: 数值操作(如累计、乘积等)<complex>
: 复数运算<valarray>
: 数组类及相关操作<cmath>
: 数学函数
字符串和正则表达式
时间和日期
多线程和并发
<thread>
: 多线程支持<mutex>
: 互斥量<condition_variable>
: 条件变量<future>
: 异步编程支持<atomic>
: 原子操作
内存管理
类型特性和运行时类型识别
<type_traits>
: 类型特性<typeinfo>
: 运行时类型识别
异常处理
<exception>
: 异常处理基类及相关工具<stdexcept>
: 常用异常类(如std::runtime_error
等)
输入输出操作
其他工具
<utility>
: 通用工具(如std::pair
和std::move
等)<random>
: 随机数生成<locale>
: 本地化支持<codecvt>
: 字符编码转换<cassert>
: 断言<cctype>
: 字符处理<cstring>
: 字符串处理<cwchar>
: 宽字符处理<climits>
: 数值极限<cfloat>
: 浮点极限<cstdlib>
: 常用工具(如std::rand
和std::abs
等)
这些头文件构成了C++标准库的基础,提供了丰富的功能,支持开发者进行各种类型的编程任务。