C++标准库头文件


C++标准库包含不同类型的库。以下是所有这些类型及其下的库的列表。

实用工具库

<cstdlib> − 通用实用工具,例如程序控制、动态内存分配、随机数、排序和搜索

<csignal> − 用于信号管理的函数和宏常量(例如SIGINT等)

<csetjmp> − 保存(和跳转)到执行上下文的宏(和函数)

<cstdarg> − 处理可变长度参数列表

<typeinfo> − 运行时类型信息实用工具

<bitset> − std::bitset 类模板

<functional> − 函数对象、函数调用、绑定操作和引用包装器

<utility> − 各种实用程序组件

<ctime> − C 风格的时间/日期实用工具

<cstddef> − 标准宏和类型定义

<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 类模板描述一个对象,该对象可以引用一个连续的字符型对象的常量序列,序列的第一个元素位于位置零。

容器库

<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 类模板和几个类型定义

<istream> − std::basic_istream 类模板和几个类型定义

<ostream> − std::basic_ostream、std::basic_iostream 类模板和几个类型定义

<iostream> − 若干标准流对象

<fstream> − std::basic_fstream、std::basic_ifstream、std::basic_ofstream 类模板和几个类型定义

<sstream> − std::basic_stringstream、std::basic_istringstream、std::basic_ostringstream 类模板和几个类型定义

<syncstream> (自C++20起) − std::basic_osyncstream、std::basic_syncbuf 和类型定义

<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 类和支持函数

更新于: 2020年6月18日

1K+ 次浏览

开启你的职业生涯

完成课程后获得认证

开始学习
广告