C++ 标准库头文件

C++ 标准库的接口由下列头文件的汇集定义。

概念库
(C++20 起) 基础库概念
工具库
通用工具:程序控制、动态内存分配、随机数、排序与查找
信号管理的函数与宏常量
保存到执行环境的宏,及跳到执行环境的函数
变长参数列表的处理
运行时类型信息工具
(C++11 起) std::type_index
<type_traits> (C++11 起) 编译时类型信息
std::bitset 类模板
函数对象、函数调用、绑定操作、引用包装
多种工具组件
C 风格时间/日期工具
(C++11 起) C++ 时间工具
标准宏和类型定义
<initializer_list> (C++11 起) std::initializer_list 类模板
(C++11 起) std::tuple 类模板
(C++17 起) std::any 类
(C++17 起) std::optional 类模板
(C++17 起) std::variant 类模板
(C++20 起) 三路比较运算符支持
(C++20 起) 提供依赖实现的库信息
动态内存管理
低层内存管理工具
高层内存管理工具
<scoped_allocator> (C++11 起) 嵌套分配器类
<memory_resource> (C++17 起) 多态分配器及内存资源
数值极限
整数类型极限
浮点类型极限
(C++11 起) 定长整数及其他类型的极限
(C++11 起) 格式化宏、 intmax_t 及 uintmax_t 数学工具及转换
查询算术类型属性的标准化方式
错误处理
异常处理工具
标准异常对象
将其参数与零比较的条件性编译宏
<system_error> (C++11 起) 定义 std::error_code ,依赖平台的错误码
含有最近一次错误号的宏
(C++20 起) 契约违规信息
字符串库
确定字符数据中所含类型的函数
确定宽字符数据中所含类型的函数
多种窄字符串处理函数
多种宽及多字节字符串处理函数
(C++11 起) C 风格 Unicode 字符转换函数
std::basic_string 类模板
<string_view> (C++17 起) std::basic_string_view 类模板
(C++17 起) std::to_chars 与 std::from_chars
容器库
(C++11 起) std::array 容器
std::vector 容器
std::deque 容器
std::list 容器
<forward_list> (C++11 起) std::forward_list 容器
std::set 及 std::multiset 关联容器
std::map 及 std::multimap 关联容器
<unordered_set> (C++11 起) std::unordered_set 及 std::unordered_multiset 无序关联容器
<unordered_map> (C++11 起) std::unordered_map 及 std::unordered_multimap 无序关联容器
std::stack 容器适配器
std::queue 及 std::priority_queue 容器适配器
(C++20 起) std::span 视图
迭代器库
范围迭代器
范围库
(C++20 起) 范围访问、原始设备、要求、工具及适配器
算法库
操作范围上的算法
(C++17 起) 算法并行版本的预定义执行策略
数值库
常用数学函数
复数类型
表示和操作值的数组的类
(C++11 起) 随机数生成器及分布
容器中值的数值运算
(C++11 起) 编译时有理数算术
(C++11 起) 浮点环境访问函数
(C++20 起) 位操纵函数
输入/输出库
所有输入/输出库中的类的前置声明
std::ios_base 类、std::basic_ios 类模板及数个 typedef
std::basic_istream 类模板及数个 typedef
std::basic_ostream 、 std::basic_iostream 类模板及数个typedef
数个标准流对象
std::basic_fstream 、 std::basic_ifstream 、 std::basic_ofstream 类模板及数个typedef
std::basic_stringstream 、 std::basic_istringstream 、 std::basic_ostringstream 类模板及数个 typedef
(C++20 起) std::basic_osyncstream 、 std::basic_syncbuf 及 typedef
(C++98 中弃用) std::strstream 、 std::istrstream 、 std::ostrstream
控制输入输出格式的帮助函数
std::basic_streambuf 类模板
C 风格输入输出函数
本地化库
本地化工具
C 本地化工具
(C++11 起)(C++17 中弃用) Unicode 转换设施
正则表达式库
(C++11 起) 支持正则表达式处理的类、算法及迭代器
原子操作库
(C++11 起) 原子操作库
线程支持库
(C++11 起) std::thread 类及支持函数
(C++11 起) 互斥原语
<shared_mutex> (C++14 起) 共享的互斥原语
(C++11 起) 异步计算的原语
<condition_variable> (C++11 起) 线程等待条件
文件系统库
(C++17 起) std::path 类及支持函数
实验性库
文件系统 TS
<experimental/filesystem> (文件系统 TS) 文件系统库
并行 TS
<experimental/algorithm> (并行 TS) 非数值并行算法
<experimental/execution_policy> (并行 TS) 执行策略
<experimental/exception_list> (并行 TS) 并行异常
<experimental/numeric> (并行 TS) 数值并行算法
库基础 TS v1
<experimental/algorithm> (库基础 TS) sample 与 search
<experimental/any> (库基础 TS) any
<experimental/chrono> (库基础 TS) 类型特性的变量模板
<experimental/deque> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/forward_list> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/future> (库基础 TS) 使用多态分配器的 promise 与 packaged_task
<experimental/list> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/functional> (库基础 TS) 搜索器与使用多态分配器的 function
<experimental/map> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/memory> (库基础 TS) 带数组支持的 shared_ptr 与 weak_ptr
<experimental/memory_resource> (库基础 TS) 多态分配器与内存资源
<experimental/optional> (库基础 TS) optional
<experimental/ratio> (库基础 TS) 类型特性的变量模板
<experimental/regex> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/set> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/string> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/string_view> (库基础 TS) basic_string_view
<experimental/system_error> (库基础 TS) 类型特性的变量模板
<experimental/tuple> (库基础 TS) 类型特性的变量模板与 apply
<experimental/type_traits> (库基础 TS) 类型特性的变量模板与 invocation_type
<experimental/unordered_map> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/unordered_set> (库基础 TS) 使用多态分配器的容器的便利别名
<experimental/utility> (库基础 TS) erased_type
<experimental/vector> (库基础 TS) 使用多态分配器的容器的便利别名
并发扩展
<experimental/atomic> (并发 TS) atomic_shared_ptr 与 atomic_weak_ptr
<experimental/barrier> (并发 TS) barrier 与 flex_barrier
<experimental/future> (并发 TS) std::future 的扩展
<experimental/latch> (并发 TS) latch
库基础 TS v2
<experimental/algorithm> (库基础 TS v2) sample 与 shuffle
<experimental/array> (库基础 TS v2) make_array 与 to_array
<experimental/deque> (库基础 TS v2) erase 与 erase_if
<experimental/forward_list> (库基础 TS v2) erase 与 erase_if
<experimental/functional> (库基础 TS v2) not_fn
<experimental/iterator> (库基础 TS v2) ostream_joiner
<experimental/list> (库基础 TS v2) erase 与 erase_if
<experimental/map> (库基础 TS v2) erase_if 与 erase_if
<experimental/memory> (库基础 TS v2) observer_ptr
<experimental/numeric> (库基础 TS v2) gcd 与 lcm
<experimental/propagate_const> (库基础 TS v2) propagate_const
<experimental/random> (库基础 TS v2) randint 与 reseed
<experimental/set> (库基础 TS v2) erase_if 与 erase_if
<experimental/source_location> (库基础 TS v2) source_location
<experimental/string> (库基础 TS v2) erase 与 erase_if
<experimental/type_traits> (库基础 TS v2) 元函数与检测手法
<experimental/unordered_map> (库基础 TS v2) erase_if 与 erase_if
<experimental/unordered_set> (库基础 TS v2) erase_if 与 erase_if
<experimental/vector> (库基础 TS v2) erase 与 erase_if
范围 TS
<experimental/ranges/algorithm> (范围 TS) 算法库
<experimental/ranges/concepts> (范围 TS) 概念库
<experimental/ranges/functional> (范围 TS) 函数对象
<experimental/ranges/iterator> (范围 TS) 迭代器库
<experimental/ranges/random> (范围 TS) UniformRandomNumberGenerator 概念
<experimental/ranges/range> (范围 TS) 范围库
<experimental/ranges/tuple> (范围 TS) 有标签元组
<experimental/ranges/type_traits> (范围 TS) 元编程与类型特性
<experimental/ranges/utility> (范围 TS) 工具组件
C 兼容头文件
对于一些拥有 xxx.h 形式的 C 标准库头文件,C++ 标准库同时包含同名的头文件和拥有形式cxxx的头文件(所有有意义的 cxxx 头文件列于上方)。

除了 complex.h 这一例外,每个包含于 C++ 标准库的 xxx.h 头文件将对应的 cxxx 中本应置于 std 命名空间的每个名字放在全局命名空间中。

允许这些头文件也在 std 命名空间中声明同样的名称,而且允许对应的 cxxx 头文件也在全局命名空间中声明同样的名称:包含 肯定会提供 std::malloc ,亦可提供 ::malloc 。包含 <stdlib.h> 肯定会提供 ::malloc ,亦可提供 std::malloc 。这甚至应用于不是 C 标准库一部分的函数和函数重载。

<assert.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<ctype.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<errno.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<fenv.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<float.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<inttypes.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<limits.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<locale.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<math.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间,
除了数学特殊函数的名称
<setjmp.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<signal.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<stdarg.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<stddef.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间,
除了 std::byte 及其相关函数的名称
<stdint.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<stdio.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<stdlib.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<string.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<time.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<uchar.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<wchar.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
<wctype.h> (弃用) 表现如同每个来自 的名称被放入全局命名空间
不受支持的 C 头文件
C++ 不包含 C 头文件 <stdatomic.h> 、 <stdnoreturn.h> 及 <threads.h> 而且它们无 cxxx 等价版本。

空 C 头文件
头文件 <complex.h> 、 、 <tgmath.h> 及 不含有任何来自 C 标准库的内容,而且不过是包含其他来自 C++ 标准库的头文件。 C++ 中这些头文件的使用均为被弃用。

(C++11 起)(C++17 中弃用)(C++20 中移除) 简单地包含
<complex.h> (弃用) 简单地包含头文件
(C++11 起)(C++17 中弃用)(C++20 中移除) 简单地包含 及 :等价于 C 头文件 tgmath.h 内容的重载已经提供于那些头文件
<tgmath.h> (弃用) 简单地包含头文件 和
无意义的 C 头文件
头文件 、 及 在 C++ 中无意义,因为它们在 C 中提供的宏是 C++ 的关键词。

(C++20 中移除) 空头文件。C 中出现于 iso646.h 的宏是 C++ 的关键词
<iso646.h> (弃用) 无效果
(C++11 起)(C++17 中弃用)(C++20 中移除) 定义一个兼容性宏常量
<stdalign.h> (弃用) 定义一个兼容性宏常量
(C++11 起)(C++17 中弃用)(C++20 中移除) 定义一个兼容性宏常量
<stdbool.h> (弃用) 定义一个兼容性宏常量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值