2020-11-17 1)C标准库头文件 2)C ++标准库标头

1.C标准库头文件

C标准库的接口由以下标头集合定义。

<assert.h>有条件编译的宏,将其参数与零进行比较
<complex.h> (C99)复数算法
<ctype.h>确定字符数据中包含的类型的函数
<errno.h>宏报告错误情况
<fenv.h> (C99)浮点环境
<float.h>浮动类型的限制
<inttypes.h> (C99)整数类型的格式转换
<iso646.h> (C95)备用运算符拼写
<limits.h>基本类型的大小
<locale.h>本地化实用程序
<math.h>常用数学功能
<setjmp.h>非本地跳
<signal.h>信号处理
<stdalign.h> (C11)alignas和alignof便利宏
<stdarg.h>可变参数
<stdatomic.h> (C11)原子类型
<stdbool.h> (C99)布尔类型的宏
<stddef.h>通用宏定义
<stdint.h> (C99)定宽整数类型
<stdio.h>输入输出
<stdlib.h>通用实用程序:内存管理程序实用程序字符串转换随机数
<stdnoreturn.h> (C11)noreturn便利宏
<string.h>字符串处理
<tgmath.h> (C99)类型通用数学(宏包装math.h和complex.h)
<threads.h> (C11)线程库
<time.h>时间/日期实用程序
<uchar.h> (C11)UTF-16和UTF-32字符实用程序
<wchar.h> (C95)扩展的多字节和宽字符实用程序
<wctype.h> (C95)确定宽字符数据中包含的类型的函数

参考文献

  • C17标准(ISO / IEC 9899:2018):
  • 7.1.2标准页眉(p:131-132)
  • C11标准(ISO / IEC 9899:2011):
  • 7.1.2标准页眉(p:181-182)
  • C99标准(ISO / IEC 9899:1999):
  • 7.1.2标准页眉(p:165)
  • C89 / C90标准(ISO / IEC 9899:1990):
  • 4.1.2标准头

也可以看看

C ++文档的C ++标准库头文件

 

2.C ++标准库标头

C ++标准库的接口由以下标头集合定义。

概念库

(C ++ 20)
基本图书馆概念

协程库

(C ++ 20)
协程支持库

实用程序库

通用工具:程序控制动态内存分配随机数排序和搜索
用于信号管理的函数和宏常量
保存(并跳转)到执行上下文的宏(和函数)
变长参数列表的处理
运行时类型信息实用程序
(C ++ 11)
std :: type_index
(C ++ 11)
编译时类型信息
std :: bitset类模板
函数对象,函数调用,绑定操作和引用包装器
各种实用程序组件
C风格的时间/日期工具
(C ++ 11)
C ++时间效用
标准宏和typedef
(C ++ 11)
std :: initializer_list类模板
(C ++ 11)
std :: tuple类模板
(C ++ 17)
std ::任何
(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字符转换功能
std :: basic_string类模板
(C ++ 17)
std :: basic_string_view类模板
(C ++ 17)
的std :: to_chars和性病:: from_chars
(C ++ 20)
格式化库,包括std :: format

容器库

(C ++ 11)
std :: array容器
std :: vector容器
std :: deque容器
std :: list容器
(C ++ 11)
std :: forward_list容器
std :: setstd :: multiset关联容器
std :: mapstd :: multimap关联容器
(C ++ 11)
std :: unordered_setstd :: unordered_multiset无序关联容器
(C ++ 11)
std :: unordered_mapstd :: unordered_multimap无序关联容器
std :: stack容器适配器
std :: queuestd :: priority_queue容器适配器
(C ++ 20)
std :: span视图

迭代器库

范围迭代器

范围库

(C ++ 20)
范围访问,原语,需求,实用程序和适配器

算法库

在范围上运行的算法
(C ++ 17)
并行版本算法的预定义执行策略

数值库

常用数学功能
复数类型
用于表示和操纵值数组的类
(C ++ 11)
随机数生成器和分布
对范围内的值进行数值运算
(C ++ 11)
编译时有理算术
(C ++ 11)
浮点环境访问功能
(C ++ 20)
位操作功能
(C ++ 20)
数学常数

本地化库

本地化实用程序
C语言本地化实用程序
(C ++ 11)(在C ++ 17中已弃用)
Unicode转换工具

输入/输出库

在输入/输出库中转发所有类的声明
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 ++ 17)
std :: path类和支持功能

正则表达式库

(C ++ 11)
支持正则表达式处理的类,算法和迭代器

原子操作库

(C ++ 11)
原子操作库

线程支持库

(C ++ 11)
std :: thread类和支持功能
(C ++ 20)
停止std :: jthread的令牌
(C ++ 11)
互斥原语
(C ++ 14)
共享互斥原语
(C ++ 11)
异步计算的基元
(C ++ 11)
线程等待条件
(C ++ 20)
信号量
(C ++ 20)
锁存器
(C ++ 20)
壁垒

C兼容性标头

对于表单的某些C标准库标头 xxx。H,C ++标准库都包含一个名称相同的标头和该格式的另一个标头 cxxx (全部有意义 cxxx 标头在上面列出)。

除了 复杂。H ,每个 xxx。H C ++标准库中包含的标头在全局名称空间中放置了每个名称, cxxx 标头应该放在 性病 命名空间。

这些标头还可以在 性病 命名空间,以及相应的 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>的每个名称都放在全局名称空间中

空的C标头

标头<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>tgmath.h这些标头已经提供了与C标头内容等效的重载
(C ++ 11)(已弃用)
仅包含标头<complex><cmath>

无意义的C标头

标头<ciso646><cstdalign><cstdbool>在C ++中没有意义,因为它们在C中提供的宏是C ++中的语言关键字。

(在C ++ 20中已删除)
空标题。在C出现的宏是iso646.hC ++中的关键字
(已弃用)
没有效果
(C ++ 11)(在C ++ 17中弃用)(在C ++ 20中删除)
定义一个兼容性宏常量
(C ++ 11)(已弃用)
定义一个兼容性宏常量
(C ++ 11)(在C ++ 17中弃用)(在C ++ 20中删除)
定义一个兼容性宏常量
(C ++ 11)(已弃用)
定义一个兼容性宏常量

不支援的C标头

C标头<stdatomic.h><stdnoreturn.h><threads.h>不包含在C ++中,并且没有cxxx 等价物。

实验库

C ++ TR / TS还定义了标头的多个集合。

也可以看看

C文档的C标准库头文件
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值