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开始)-定义轻量级代理对象的库,该对象提供对constT类型的对象数组的访问。
<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类和支持功能