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