C++ 标准库头文件汇集:

2023-05-16

C++ 标准库头文件汇集:

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

  • C++ 标准库头文件汇集:
      • 概念库
      • 协程库
      • 工具库
      • 动态内存管理
      • 数值极限
      • 错误处理
      • 字符串库
      • 容器库
      • 迭代器库
      • 范围库
      • 算法库
      • 数值库
      • 本地化库
      • 输入/输出库
      • 文件系统库
      • 正则表达式库
      • 原子操作库
      • 线程支持库
      • C 兼容头文件
      • 特殊 C 兼容头文件
      • 空 C 头文件
      • 无意义的 C 头文件
      • 不受支持的 C 头文件
      • 实验性库

概念库

<concepts>(C++20)		基础库概念 

协程库

<coroutine>(C++20)		协程支持库 

工具库

<cstdlib>				通用工具:程序控制、动态内存分配、随机数、排序与搜索 
<csignal>				信号管理的函数与宏常量 
<csetjmp>				保存(及跳转)到执行环境的宏(与函数) 
<cstdarg>				变长实参列表的处理 
<typeinfo>				运行时类型信息工具 
<typeindex>(C++11)		std::type_index 
<type_traits>(C++11)	编译时类型信息 
<bitset>				std::bitset 类模板 
<functional>			函数对象、函数调用、绑定操作及引用包装 
<utility>				多种工具组件 
<ctime>					C 风格日期/时间工具 
<chrono>(C++11)			C++ 时间工具 
<cstddef>				标准宏与 typedef 
<initializer_list>(C++11)	std::initializer_list 类模板 
<tuple>(C++11)			std::tuple 类模板 
<any>(C++17)			std::any 类 
<optional>(C++17)		std::optional 类模板 
<variant>(C++17)		std::variant 类模板 
<compare>(C++20)		三路比较运算符支持 
<version>(C++20)		提供依赖实现的库信息 
<source_location>(C++20)	提供获得源码位置的手段 

动态内存管理

<new>						低层内存管理工具 
<memory>					高层内存管理工具 
<scoped_allocator>(C++11)	嵌套分配器类 
<memory_resource>(C++17)	多态分配器与内存资源 

数值极限

<climits>				整数类型的极限 
<cfloat>				浮点类型的极限 
<cstdint>(C++11)		定宽整数类型与其他类型的极限 
<cinttypes>(C++11)		格式化宏、 intmax_t 与 uintmax_t 数学与转换 
<limits>				查询算术类型属性的一致方式 

错误处理

<exception>				异常处理工具 
<stdexcept>				标准异常对象 
<cassert>				比较其实参与零的条件编译宏 
<system_error>(C++11)	定义 std::error_code ,依赖平台的错误码 
<cerrno>				含有最后一次错误号的宏 

字符串库

<cctype>				确定窄字符类别的函数 
<cwctype>				确定宽字符的类别的函数 
<cstring>				多种窄字符串处理函数 
<cwchar>				多种宽与多字节字符串处理函数 
<cuchar>(C++11)			C 风格 Unicode 字符转换函数 
<string>				std::basic_string 类模板 
<string_view>(C++17)	std::basic_string_view 类模板 
<charconv>(C++17)		std::to_chars 与 std::from_chars 
<format>(C++20)			格式化库,包括 std::format 

容器库

<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 容器适配器 
<span>(C++20)			std::span 视图 

迭代器库

<iterator>				范围迭代器 

范围库

<ranges>(C++20)			范围访问、元件、要求、工具及适配器 

算法库

<algorithm>				在范围上操作的算法 
<execution>(C++17)		并行版本算法的预定义执行策略 

数值库

<cmath>					常用数学函数 
<complex>				复数类型 
<valarray>				表示和操纵值的数组的类 
<random>(C++11)			随机数生成器与分布 
<numeric>				范围中的值上的数值运算 
<ratio>(C++11)			编译时有理数算术 
<cfenv>(C++11)			浮点环境访问函数 
<bit>(C++20)			位操纵函数 
<numbers>(C++20)		数学常数 

本地化库

<locale>				本地化工具 
<clocale>				C 本地化工具 
<codecvt>(C++11)(C++17 中弃用)	Unicode 转换设施 

输入/输出库

<iosfwd>				输入/输出库中所有类的前置声明 
<ios>					std::ios_base 类、 std::basic_ios 类模板与数个 typedef 
<istream>				std::basic_istream 类模板与数个 typedef 
<ostream>				std::basic_ostream 、 std::basic_iostream 类模板与数个 typedef 
<iostream>				数个标准流对象 
<fstream>				std::basic_fstream 、 std::basic_ifstream 、 std::basic_ofstream 类模板及数个 typedef 
<sstream>				std::basic_stringstream 、 std::basic_istringstream 、 std::basic_ostringstream 类模板与数个 typedef 

<syncstream>(C++20)		std::basic_osyncstream 、 std::basic_syncbuf 及 typedef 
<strstream>(C++98 中弃用)	std::strstream 、 std::istrstream 、 std::ostrstream 
<iomanip>				格式化输入与输出的辅助函数 
<streambuf>				std::basic_streambuf 类模板 
<cstdio>				C 风格输入输出函数 

文件系统库

<filesystem>(C++17)		std::path 类与支持函数 

正则表达式库

<regex>(C++11)			支持正则表达式处理的类、算法及迭代器 

原子操作库

<atomic>(C++11)			原子操作库 

线程支持库

<thread>(C++11)			std::thread 类与支持函数 
<stop_token>(C++20)		std::jthread 的停止记号 
<mutex>(C++11)			互斥元件 
<shared_mutex>(C++14)	共享互斥元件 
<future>(C++11)			异步计算元件 
<condition_variable>(C++11)		线程等待条件 
<semaphore>(C++20)		信号量 
<latch>(C++20)			闩 
<barrier>(C++20)		屏障 

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>(C++11)(弃用)	表现如同将每个来自 <cfenv> 的名字置于全局命名空间 
<float.h>(弃用)			表现同 <cfloat> 
<inttypes.h>(C++11)(弃用)	表现如同将每个来自 <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>(C++11)(弃用)	表现如同将每个来自 <cstdint> 的名字置于全局命名空间 
<stdio.h>(弃用)			表现如同将每个来自 <cstdio> 的名字置于全局命名空间 
<stdlib.h>(弃用)		表现如同将每个来自 <cstdlib> 的名字置于全局命名空间 
<string.h>(弃用)		表现如同将每个来自 <cstring> 的名字置于全局命名空间 
<time.h>(弃用)			表现如同将每个来自 <ctime> 的名字置于全局命名空间 
<uchar.h>(C++11)(弃用)	表现如同将每个来自 <cuchar> 的名字置于全局命名空间 
<wchar.h>(弃用)			表现如同将每个来自 <cwchar> 的名字置于全局命名空间 
<wctype.h>(弃用)		表现如同将每个来自 <cwctype> 的名字置于全局命名空间 

特殊 C 兼容头文件

头文件 <stdatomic.h> 声明在亦在 C 标准库中提供的名称,并定义在 C 中为关键词的 _Atomic 宏。不同于其他 xxx.h 头文件,不提供对应的 <cstdatomic> 。

<stdatomic.h>(C++23)	定义 _Atomic 并提供 C 标准库中的对应组件 

空 C 头文件

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

<ccomplex>(C++11)(C++17 中弃用)(C++20 中移除)		简单地包含头文件 <complex> 
<complex.h>(C++11)(弃用)							简单地包含头文件 <complex> 
<ctgmath>(C++11)(C++17 中弃用)(C++20 中移除)			简单地包含头文件 <complex> 与 <cmath> :等价于 C 头文件 tgmath.h 的重载已于前述头文件提供 

<tgmath.h>(C++11)(弃用)								简单地包含头文件 <complex> 与 <cmath> 

无意义的 C 头文件

头文件 <ciso646>、<cstdalign> 及 <cstdbool> 在 C++ 中无意义,因为它们在 C 中提供的宏是 C++ 的关键词。

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

不受支持的 C 头文件

C++ 不包含 C 头文件 <stdatomic.h>、 (C++23 前)<stdnoreturn.h> 及 <threads.h> 而且它们无 cxxx 等价版本。

实验性库

C++ TR/TS 亦定义数个头文件的汇集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 标准库头文件汇集: 的相关文章

  • Matlab学习-频率分布直方图绘制

    参考链接 xff1a hist xff08 xff09 函数用法 频率分布直方图 xff1a 在数理统计中 xff0c 会经常使用到频率分布直方图 xff0c 能够直观的反应频率分布的范围大小 xff0c 在直角坐标系中 xff0c 横轴为
  • Matlab学习-经纬度在matlab内置地图显示

    已知经纬度坐标 xff0c 将其显示是地图上 参考链接 xff1a 使用matlab绘制世界地图并根据经纬度绘制点位 附m map的下载与安装说明 wm span class token operator 61 span webmap sp
  • ARM存储格式的“大小端”解析

    ARM储存 大端格式和小端格式 所谓的大端模式 xff0c 是指数据的高位 xff0c 保存在内存的低地址中 xff0c 而数据的低位 xff0c 保存在内存的高地址中 xff0c 这样的存储模式有点儿类似于把数据当作字符串顺序处理 xff
  • UBLOX板卡基础设置--F9P板卡配置(基准站和流动站)

    UBLOX F9P板卡配置 基准站 流动站 UBX F9P模块为双频定位芯片 xff0c 是市场上目前最常用的高精定位模块 xff0c 差分定位精度可达厘米级 xff0c 具体参数详见官方文档 官方文档下载链接 xff1a UBX F9P模
  • GIT学习-常用命令

    2 GIT学习 常用命令 在学习git前首先需要对相关名词和概念有基本了解 xff0c git基础知识学习可参考以下资料 xff1a git基础知识 xff1a GIT学习 1 基础知识git下载与配置 xff1a GIT学习 xff08
  • ROS常用命令

    ROS常用命令 1 将话题数据单独导出 将话题数据单独导出为一个文件 rostopic echo b name name p topic name gt save file name ex rostopic echo b test bag
  • Linux常用命令

    Linux常用命令 1 查看电脑IP地址 ifconfig 2 远程连接其他电脑 xff0c 查看是否连接成功 ping IP address 3 通过IP地址远程连接电脑 ssh lcl 64 IP address 4 文件传输 4 1
  • opencv-3.4.1-x86编译安装 -- 超详细

    相关链接 xff1a opencv 3 4 1 arm编译安装 超详细 opencv 3 4 1 x86编译安装 环境1 安装依赖库2 OpenCV源码获取与解压2 1 获取源码2 2 工作目录准备2 3 解压 3 OpenCV配置编译3
  • Qt编程之单例模式——代码复用,一个类供多个类调用

    什么是单例模式 单例模式是一种对象创建模式 xff0c 用于生产一个对象的实例 xff0c 它可以确保系统中一个类只产生一个实例 xff0c 这样做有两个好处 xff1a 1 对于频繁使用的对象 xff0c 可以省略创建对象所花费的时间 x
  • STM32串口数据接收处理,数据分割为整形浮点型数据。

    简介 通过stm32的串口接收数据 xff0c 通过strstr函数分割数据 xff0c 再将字符数据转化为整形数据或浮点数据 比如 xff1a stm32接收到数据 s555s xff0c 分割数据为 555 xff0c 然后转化为int
  • 抛出异常时将异常信息返给前端

    全局异常处理器负责将抛出的异常 xff0c 以统一的格式返给前端 在这里起主要作用的注解是 64 RestControllerAdvice 64 RestControllerAdvice主要配合 64 ExceptionHandler使用
  • 关于入栈和出栈的理解

    关于入栈和出栈的理解 xff1a 假设程序在运行 xff0c 这个时候就会涉及到下面要说到的几个核心的寄存器 xff08 对栈进行操作 xff09 就是PC寄存器 xff08 为了能够准确地记录各个线程正在执行的当前字节码指令地址 xff0
  • 原生 css 实现进度条

    方案一 xff1a 通过data控制它的样式 1 首先搭建dom结构 lt div class 61 34 home left top content div 34 v for 61 34 item index in PowerAAcces
  • 实现开发板、电脑(无线网卡)与虚拟机三者通过网络连接(三者都可以上外网)

    借鉴文章 xff1a https blog csdn net dongtaintailiang article details 106314689 spm 61 1001 2014 3001 5501 因为项目需要 xff0c 找到这篇文章
  • STM32串口发送接收数据

    目录 1 串口通信2 串口的结构体3 如何配置串口的发送4 通过串口向电脑发送ok字符5 封装发送字符串函数6 重定向printf串口发送7 串口输入控制LED灯开关遇到的问题 1 串口通信 我用的32是stm32f10x最小系统没有UAR
  • 数据结构代码

    1 线性表 1 顺序表 span class token keyword typedef span span class token keyword struct span span class token punctuation span
  • 计算机组成原理之奇偶校验

    计算机组成原理之奇偶校验 这个久校验应该是数字逻辑早就学了的内容 可是我又忘记了 在网上查还不如自己写篇博客记录一下 首先奇偶校验是干嘛的 xff1f 奇偶校验是一种校验代码传输正确性的方法 根据被传输的一组二进制代码的数位中的 34 1
  • ubuntu18.04下复现 singleshotpose(yolo-6D) 源代码复现

    源代码地址 首先配置好conda环境 xff08 需要提前安装ubuntu18 04和 anaconda或者miniconda xff09 原代码的说明里说可以选择安装python 3 6也可以装python2 7 xff08 我最开始的时
  • 手把手 在windows10下安装配置anaconda

    一 安装anaconda 1 进入anaconda官网 xff0c 下载安装包 2 下载好之后 xff0c 依次安装 3 为计算机添加环境变量 依次点击 1 win10桌面 xff0c 点击右下脚的window图标 2 系统 3 关于 4

随机推荐