C++ 标准库头文件
来自cppreference.com
< cpp
C++ 标准库的接口由下列头文件的汇集定义。
[编辑] C 兼容头文件
对于一些拥有 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 标准库一部分的函数和函数重载。
<assert.h> (弃用)
|
表现如同每个来自 <cassert> 的名称被放入全局命名空间 |
<ctype.h> (弃用)
|
表现如同每个来自 <cctype> 的名称被放入全局命名空间 |
<errno.h> (弃用)
|
表现如同每个来自 <cerrno> 的名称被放入全局命名空间 |
<fenv.h> (弃用)
|
表现如同每个来自 <cfenv> 的名称被放入全局命名空间 |
<float.h> (弃用)
|
表现如同每个来自 <cfloat> 的名称被放入全局命名空间 |
<inttypes.h> (弃用)
|
表现如同每个来自 <cinttypes> 的名称被放入全局命名空间 |
<limits.h> (弃用)
|
表现如同每个来自 <climits> 的名称被放入全局命名空间 |
<locale.h> (弃用)
|
表现如同每个来自 <clocale> 的名称被放入全局命名空间 |
<math.h> (弃用)
|
表现如同每个来自 <cmath> 的名称被放入全局命名空间, 除了数学特殊函数的名称 |
<setjmp.h> (弃用)
|
表现如同每个来自 <csetjmp> 的名称被放入全局命名空间 |
<signal.h> (弃用)
|
表现如同每个来自 <csignal> 的名称被放入全局命名空间 |
<stdarg.h> (弃用)
|
表现如同每个来自 <cstdarg> 的名称被放入全局命名空间 |
<stddef.h> (弃用)
|
表现如同每个来自 <cstddef> 的名称被放入全局命名空间, 除了 std::byte 及其相关函数的名称
|
<stdint.h> (弃用)
|
表现如同每个来自 <cstdint> 的名称被放入全局命名空间 |
<stdio.h> (弃用)
|
表现如同每个来自 <cstdio> 的名称被放入全局命名空间 |
<stdlib.h> (弃用)
|
表现如同每个来自 <cstdlib> 的名称被放入全局命名空间 |
<string.h> (弃用)
|
表现如同每个来自 <cstring> 的名称被放入全局命名空间 |
<time.h> (弃用)
|
表现如同每个来自 <ctime> 的名称被放入全局命名空间 |
<uchar.h> (弃用)
|
表现如同每个来自 <cuchar> 的名称被放入全局命名空间 |
<wchar.h> (弃用)
|
表现如同每个来自 <cwchar> 的名称被放入全局命名空间 |
<wctype.h> (弃用)
|
表现如同每个来自 <cwctype> 的名称被放入全局命名空间 |
[编辑] 不受支持的 C 头文件
C 头文件 <stdatomic.h>
、 <stdnoreturn.h>
及 <threads.h>
不包含于 C++ 且无 cxxx 等价版本。
[编辑] 空 C 头文件
头文件 <complex.h>
、 <ccomplex>
、 <tgmath.h>
及 <ctgmath>
不含有任何来自 C 标准库的内容,而且不过是包含其他来自 C++ 标准库的头文件。 C++ 中这些头文件的使用均为被弃用。
<ccomplex> (C++11 起)(C++17 中弃用)
|
简单地包含<complex> |
<complex.h> (弃用)
|
简单地包含头文件 <complex> |
<ctgmath> (C++11 起)(C++17 中弃用)
|
简单地包含 <complex> 及 <cmath> :等价于 C 头文件 tgmath.h 内容的重载已经提供于那些头文件
|
<tgmath.h> (弃用)
|
简单地包含头文件 <ctgmath> |
[编辑] 无意义的 C 头文件
头文件 <ciso646>
、 <cstdalign>
及 <cstdbool>
在 C++ 中无意义,因为它们在 C 中提供的宏是 C++ 的关键词。
<ciso646>
|
空头文件。C 中出现于 iso646.h 的宏是 C++ 的关键词
|
<iso646.h> (弃用)
|
表现如同每个来自 <ciso646> 的名称被放入全局命名空间 |
<cstdalign> (C++11 起)(C++17 中弃用)
|
定义一个兼容性宏常量 |
<stdalign.h> (弃用)
|
表现如同每个来自 <cstdalign> 的名称被放入全局命名空间 |
<cstdbool> (C++11 起)(C++17 中弃用)
|
定义一个兼容性宏常量 |
<stdbool.h> (弃用)
|
表现如同每个来自 <cstdbool> 的名称被放入全局命名空间 |
[编辑] 参阅
C 标准库头文件的 C 文档
|