C++ 标准库的接口由下列头文件的聚集定义。html
<concepts>ios
(C++20)正则表达式
基础库概念算法
<coroutine>api
(C++20)数组
协程支持库dom
(C++11)
(C++11)
std::bitset 类模板
多种工具组件
(C++11)
(C++11)
(C++11)
std::tuple 类模板
(C++17)
std::any 类
(C++17)
std::optional 类模板
(C++17)
std::variant 类模板
(C++20)
三路比较运算符支持
(C++20)
提供依赖实现的库信息
(C++20)
提供得到源码位置的手段
(C++11)
(C++17)
(C++11)
(C++11)
格式化宏、 intmax_t
与 uintmax_t
数学与转换
(C++11)
定义 std::error_code ,依赖平台的错误码
多种窄字符串处理函数
(C++11)
C 风格 Unicode 字符转换函数
(C++17)
(C++17)
std::to_chars 与 std::from_chars
(C++20)
格式化库,包括 std::format
(C++11)
std::array 容器
std::vector 容器
std::deque 容器
std::list 容器
(C++11)
std::set 与 std::multiset 关联容器
std::map 与 std::multimap 关联容器
(C++11)
std::unordered_set 与 std::unordered_multiset 无序关联容器
(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)
位操纵函数
(C++20)
(C++11)(C++17 中弃用)
输入/输出库中全部类的前置声明
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
(C++17)
std::path 类与支持函数
(C++11)
(C++11)
(C++11)
(C++20)
std::jthread 的中止记号
(C++11)
(C++14)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
对于一些形式为 xxx.h 的 C 标准库头文件,C++ 标准库同时包含同名的头文件和拥有形式 cxxx 的头文件(全部有意义的 cxxx 头文件列于上方)。
除了 complex.h 这一例外,C++ 标准库中包含的每一个 xxx.h 头文件都将其对应的 cxxx 中本应置于 std 命名空间中的每一个名字放在全局命名空间中。
容许这些头文件也在 std 命名空间中声明一样的名字,并且容许对应的 cxxx 头文件也在全局命名空间中声明一样的名字:包含 <cstdlib>
确定会提供 std::malloc,亦可提供 ::malloc。包含 <stdlib.h>
确定会提供 ::malloc,亦可提供 std::malloc。这甚至适用于并不是 C 标准库一部分的函数和函数重载。
(弃用)
表现同 <cassert>
(弃用)
表现如同将每一个来自 <cctype> 的名字置于全局命名空间
(弃用)
表现同 <cerrno>
(C++11)(弃用)
表现如同将每一个来自 <cfenv> 的名字置于全局命名空间
(弃用)
表现同 <cfloat>
(C++11)(弃用)
表现如同将每一个来自 <cinttypes> 的名字置于全局命名空间
(弃用)
表现同 <climits>
(弃用)
表现如同将每一个来自 <clocale> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cmath> 的名字置于全局命名空间,
除了数学特殊函数的名字
(弃用)
表现如同将每一个来自 <csetjmp> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <csignal> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cstdarg> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cstddef> 的名字置于全局命名空间,
除了 std::byte
与相关函数的名字
(C++11)(弃用)
表现如同将每一个来自 <cstdint> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cstdio> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cstdlib> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cstring> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <ctime> 的名字置于全局命名空间
(C++11)(弃用)
表现如同将每一个来自 <cuchar> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cwchar> 的名字置于全局命名空间
(弃用)
表现如同将每一个来自 <cwctype> 的名字置于全局命名空间
头文件 <complex.h>
、<ccomplex>
、<tgmath.h>
及 <ctgmath>
不含有任何来自 C 标准库的内容,并且不过是包含其余来自 C++ 标准库的头文件。C++ 中这些头文件的使用均已被弃用。
(C++11)(C++17 中弃用)(C++20 中移除)
简单地包含头文件 <complex>
(C++11)(弃用)
简单地包含头文件 <complex>
(C++11)(C++17 中弃用)(C++20 中移除)
简单地包含头文件 <complex> 与 <cmath> :等价于 C 头文件 tgmath.h
的重载已于前述头文件提供
(C++11)(弃用)
头文件 <ciso646>
、<cstdalign>
及 <cstdbool>
在 C++ 中无心义,由于它们在 C 中提供的宏是 C++ 的关键词。
(C++20 中移除)
空头文件。 C 中 iso646.h
中出现的宏是 C++ 中的关键词
(弃用)
无效果
(C++11)(C++17 中弃用)(C++20 中移除)
定义一个兼容性宏常量
(C++11)(弃用)
定义一个兼容性宏常量
(C++11)(C++17 中弃用)(C++20 中移除)
定义一个兼容性宏常量
(C++11)(弃用)
定义一个兼容性宏常量
C++ 不包含 C 头文件 <stdatomic.h>
、<stdnoreturn.h>
及 <threads.h>
并且它们无 cxxx 等价版本。
C++ TR/TS 亦定义数个头文件的聚集。