C ++标准库头文件

C ++标准库包含不同类型的库。以下是所有这些类型及其下的库的列表。

实用程序库

<cstdlib> -通用实用程序,例如程序控制,动态内存分配,随机数,排序和搜索

<csignal>  -用于信号管理的功能和宏常量(例如SIGINT等)

<csetjmp>-将 宏(和函数)保存(并跳转)到执行上下文

<cstdarg> -可变长度参数列表的处理

<typeinfo> -运行时类型信息实用程序

<bitset> -std::bitset的类模板

<functional> -函数对象,函数调用,绑定操作和引用包装器

<实用程序> -各种实用程序组件

<ctime> -C风格的时间/日期工具

<cstddef> -标准宏和typedef

<typeindex>(C ++ 11起)-type_info对象周围的包装器,可用作关联和无序关联容器中的索引

<type_traits>(C ++ 11起) -编译时类型信息

<chrono>(自C ++ 11起) -C ++时间实用程序

<initializer_list>(从C ++ 11开始)-定义轻量级代理对象的库,该对象提供对const T类型的对象数组的访问。

<tuple>(自C ++ 11起) -定义固定大小的异构值集合的库。它是std::pair的概括。

<any>(自C ++ 17起) -any类描述任何类型的单个值的类型安全容器。

<optional>(自C ++ 17起) -类模板std::optional管理可选的包含值,即可能存在或可能不存在的值。

<variant>(从C ++ 17开始) -类模板std::variant表示类型安全的联合。std::variant的实例在任何给定时间要么拥有其替代类型之一的值,要么在发生错误的情况下-无值。

<compare>(自C ++ 20起) -允许三向比较运算符支持

动态内存管理

<new> -低级内存管理实用程序。new-expression是创建具有动态存储持续时间(即生存期不限于其创建范围)的对象或对象数组的唯一方法。

<内存> -更高级别的内存管理实用程序

<scoped_allocator>(自C ++ 11起) -std::scoped_allocator_adaptor类模板是一个分配器,可以与多级容器(映射元组列表集的向量,等等)一起使用。

<memory_resource>(自C ++ 17起) −类std::pmr::memory_resource是一个抽象接口,用于无限制封装内存资源的一组类。

数值限制

<climits>  -整数类型的限制

<cfloat> -浮点类型的限制

<limits> -查询算术类型属性的标准化方法

<cstdint>(C ++ 11起) -固定大小的类型和其他类型的限制

<cinttypes>(C ++ 11起) -提供从C字节和宽字符串到std::intmax_t和std::uintmax_t的转换,重载了std::intmax_t的一些数学函数,并为C提供了C风格的输入/输出格式宏在<cstdint>中声明的类型。

错误处理

<exception> -异常处理实用程序

<stdexcept>- 标准异常对象

<cassert>-有条件地编译的宏,将其参数与零进行比较

<cerrno> -包含最后一个错误号的宏

<system_error>(自C ++ 11起) -std::error_code是与平台有关的错误代码。每个std::error_code对象都保存一个源自操作系统或某个低级接口的错误代码,以及一个指向std::error_category类型的对象的指针,该对象对应于 接口。

字符串库

<cctype> -确定字符数据中包含的类型的函数

<cwctype> -确定宽字符数据中包含的类型的函数

<cstring>-各种窄字符串处理功能

<cwchar>-各种宽和多字节字符串处理函数

<string> -std::basic_string类模板

<cuchar>(C ++ 11起) -C风格的Unicode字符转换功能

<string_view>(自C ++ 17起) -类模板basic_string_view描述了一个对象,该对象可以引用字符序列的恒定连续序列,且该序列的第一个元素位于零位置。

容器库

<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容器适配器

算法库

<algorithm> -包含在容器上运行的算法

<execution>(C ++ 17)−并行版本算法的预定义执行策略

迭代器库

<iterator> -容器的迭代器

数值库

<cmath> -常用数学函数

<complex> -复数类型

<valarray> -用于表示和操纵值数组的类

<random>(C ++ 11起) -随机数生成器和分布

<numeric> -对容器中的值进行数值运算

<ratio>(C ++ 11起)-编译时有理算术

<cfenv>(自C ++ 11起) -浮点环境访问功能

输入/输出库

<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>(不建议使用) -std::strstream,std::istrstream,std::ostrstream

<iomanip> -帮助程序功能来控制格式或输入和输出

<streambuf> -std::basic_streambuf类模板

<cstdio> -C风格的输入输出功能

本地化库

<locale> -本地化实用程序

<clocale> -C本地化实用程序

<codecvt>(从C ++ 11开始)(在C ++ 17中已弃用) -Unicode转换工具

正则表达式库

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

原子操作库

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

线程支持库

<thread>(C ++ 11起) -std::thread类和支持功能

<mutex>(C ++ 11起) -互斥原语

<shared_mutex>(C ++ 14起) -共享互斥原语

<future>(自C ++ 11起) -异步计算的基元

<condition_variable>(C ++ 11起) -线程等待条件

文件系统库

<filesystem>(C ++ 17起) -std::path类和支持功能