C++ 标准库头文件
C++ 标准库包含不同类型的库。以下是所有这些类型及其下的库的列表。
实用程序库
<cstdlib> − 通用实用程序,如程序控制、动态内存分配、随机数、排序和搜索
<csignal> −用于信号管理(例如 SIGINT 等)的函数和宏常量
<csetjmp> −保存(和跳转)到执行上下文的宏(和函数)
<cstdarg> −处理可变长度参数列表
<typeinfo> − 运行时类型信息实用程序
<bitset> − std::bitset 的类模板
< functional> − 函数对象、函数调用、绑定操作和引用包装器
<utility> − 各种实用程序组件
<ctime> − C 样式时间/日期实用程序
<cstddef> − 标准宏和 typedef
<typeindex>(自 C++11 起) −包装 type_info 对象,可用作关联和无序关联容器中的索引
<type_traits> (自 C++11 起) − 编译时类型信息
<chrono> (自 C++11 起) − C++ 时间实用程序
<initializer_list> (自 C++11 起) −定义轻量级代理对象的库,该代理对象提供对 const T 类型对象数组的访问。
<tuple> (自 C++11 起) −定义固定大小的异构值集合的库。它是 std::pair 的泛化。
<any> (自 C++17 起) − 类 any 描述了一个类型安全的容器,用于存放任何类型的单个值。
<optional> (自 C++17 起) − 类模板 std::optional 管理一个可选的包含值,即可能存在也可能不存在的值。
<variant> (自 C++17 起) −类模板 std::variant 表示类型安全的联合。在任何给定时间,std::variant 的实例要么保存其替代类型之一的值,要么在出现错误的情况下不保存值。
<compare> (自 C++20 起) −允许三向比较运算符支持
动态内存管理
<new> − 低级内存管理实用程序。new 表达式是创建具有动态存储持续时间的对象或对象数组的唯一方法,也就是说,其生存期不限于创建它的范围。
<memory> − 高级内存管理实用程序
<scoped_allocator>(自 C++11 起) − std::scoped_allocator_adaptor 类模板是一个分配器,可与多级容器(映射元组列表集的向量等)一起使用。
<memory_resource> (自 C++17 起) −std::pmr::memory_resource 类是封装内存资源的无界类集的抽象接口。
数字限制
<climits> −整数类型的限制
<cfloat> −浮点类型的限制
<limits> −查询算术类型属性的标准化方法
<cstdint> (自 C++11 起) −固定大小类型和其他类型的限制
<cinttypes> (自 C++11 起) −提供从 C 字节和宽字符串到 std::intmax_t 和 std::uintmax_t 的转换,为 std::intmax_t 重载一些数学函数,并为 <cstdint> 中声明的类型提供 C 样式的输入/输出格式宏。
错误处理
<exception> − 异常处理实用程序
<stdexcept> −标准异常对象
<cassert> −将其参数与零进行比较的条件编译宏
<cerrno> −包含最后一个错误编号的宏
<system_error>(自 C++11 起) −std::error_code 是与平台相关的错误代码。每个 std::error_code 对象都包含一个来自操作系统或某些低级接口的错误代码以及一个指向 std::error_category 类型的对象的指针,该对象对应于所述接口。
字符串库
<cctype> − 用于确定字符数据中包含的类型的函数
<cwctype> −用于确定宽字符数据中包含的类型的函数
<cstring> −各种窄字符串处理函数
<cwchar> −各种宽字符串和多字节字符串处理函数
<string> −std::basic_string 类模板
<cuchar> (自 C++11 起) − C 样式 Unicode 字符转换函数
<string_view> (自 C++17 起) −类模板 basic_string_view 描述了一个对象,该对象可以引用一个连续的 char 类对象序列,该序列的第一个元素位于位置零。
容器库
<array> (自 C++11 起) − std::array 容器
<vector> − std::vector 容器
<deque> − std::deque 容器
<list> − std::list 容器
<forward_list> (自 C++11 起) − std::forward_list 容器
<set> − std::set 和 std::multiset 关联容器
<map> − std::map 和 std::multimap 关联容器
<unordered_set> (自 C++11 起) − std::unordered_set 和 std::unordered_multiset 无序关联容器
<unordered_map> (自 C++11 起) − std::unordered_map 和 std::unordered_multimap 无序关联容器
<stack> − std::stack 容器适配器
<queue> − std::queue 和 std::priority_queue 容器适配器
算法库
<algorithm> − 包含对容器进行操作的算法
<execution> (C++17) −算法并行版本的预定义执行策略
迭代器库
<iterator> − 容器的迭代器
数值库
<cmath> − 常用数学函数
<complex> − 复数类型
<valarray> − 用于表示和操作值数组的类
<random> (自 C++11 起) − 随机数生成器和分布
<numeric> − 对容器中值进行数值运算
<ratio> (自 C++11 起) − 编译时有理算术
<cfenv> (自 C++11 起) −浮点环境访问函数
输入/输出库
<iosfwd> − 输入/输出库中所有类的前向声明
<ios> − std::ios_base 类、std::basic_ios 类模板和多个 typedef
<istream> − std::basic_istream 类模板和多个 typedef
<ostream> − std::basic_ostream、std::basic_iostream 类模板和多个 typedef
<iostream> −几个标准流对象
<fstream> − std::basic_fstream、std::basic_ifstream、std::basic_ofstream 类模板和几个 typedef
<sstream> − std::basic_stringstream、std::basic_istringstream、std::basic_ostringstream 类模板和几个 typedef
<syncstream>(自 C++20 起) − std::basic_osyncstream、std::basic_syncbuf 和 typedef
<strstream>(已弃用) − std::strstream、std::istrstream、std::ostrstream
<iomanip> − 用于控制格式或输入和输出的辅助函数
<streambuf> − std::basic_streambuf 类模板
<cstdio> − C 样式的输入输出函数
本地化库
<locale> − 本地化实用程序
<clocale> − C 本地化实用程序
<codecvt> (自 C++11 起) (在 C++17 中已弃用) − Unicode 转换工具
正则表达式库
<regex> (自 C++11 起) − 支持正则表达式处理的类、算法和迭代器
原子操作库
<atomic> (自 C++11 起) − 原子操作库
线程支持库
<thread> (自 C++11 起) − std::thread 类和支持函数
<mutex> (自 C++11 起) − 互斥原语
<shared_mutex> (自 C++14 起) −共享互斥原语
<future> (自 C++11 起) −异步计算原语
<condition_variable> (自 C++11 起) −线程等待条件
文件系统库
<filesystem> (自 C++17 起) − std::path 类和支持函数