美文网首页API文档
C++ 标准库头文件

C++ 标准库头文件

作者: ixiaoyang8 | 来源:发表于2020-11-10 10:16 被阅读0次

    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 头文件

    头文件 <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>、<stdnoreturn.h> 及 <threads.h> 而且它们无 cxxx 等价版本。

    实验性库

    C++ TR/TS 亦定义数个头文件的汇集。

    相关文章

      网友评论

        本文标题:C++ 标准库头文件

        本文链接:https://www.haomeiwen.com/subject/mmidbktx.html