C++所有头文件集合来啦!!!

以下是 C++ 中常用的头文件整理(基于 C++11 及以上标准),按照功能分类说明:

一、标准输入输出头文件

头文件功能描述
<iostream>包含输入输出流类(cincoutcerrclog),支持基本输入输出操作。
<iomanip>用于输入输出流的格式控制(如设置宽度、精度、对齐方式等)。
<fstream>支持文件输入输出操作,包含 ifstream(读文件)、ofstream(写文件)、fstream(读写文件)。
<sstream>支持字符串流操作,用于字符串与数值类型的转换(如 stringstream)。

二、标准容器与算法头文件

容器类
头文件功能描述
<vector>动态数组,支持随机访问和动态扩容。
<list>双向链表,支持快速插入和删除(非随机访问)。
<deque>双端队列,支持在两端快速插入和删除元素。
<forward_list>单向链表(C++11 新增),比 list 更节省空间。
<array>固定大小数组(C++11 新增),性能优于普通数组,支持迭代器和范围遍历。
<stack>栈(基于 deque 或 list 实现),后进先出(LIFO)。
<queue>队列(基于 deque 或 list 实现),先进先出(FIFO)。
<priority_queue>优先队列,元素按优先级排序(默认最大堆)。
<map>关联容器(键值对),按键排序(红黑树实现),支持快速查找。
<unordered_map>无序关联容器(哈希表实现),按键快速哈希查找(C++11 新增)。
<set>有序集合,元素唯一且按值排序(红黑树实现)。
<unordered_set>无序集合(哈希表实现),元素唯一且不排序(C++11 新增)。
<pair>用于存储一对值(模板结构体),常与容器结合使用。
算法与迭代器
头文件功能描述
<algorithm>包含各种常用算法(如排序、查找、拷贝、替换、遍历等)。
<numeric>数值算法(如累加、乘积、填充等)。
<iterator>迭代器相关工具(如迭代器适配器、输入输出迭代器等)。
<functional>函数对象(仿函数)和 Lambda 表达式相关工具(C++11 支持 Lambda)。

三、数值与数学头文件

头文件功能描述
<cmath>C 风格数学函数(如 sincossqrtpow 等)。
<cstdlib>包含 absrandsrand 等函数,以及内存分配函数 malloc/free
<limits>用于获取数据类型的极限值(如 std::numeric_limits<int>::max())。
<complex>复数运算支持(定义 complex 类,支持加减乘除、模运算等)。
<valarray>数值数组,支持批量数值运算(如向量运算、矩阵运算等)。

四、字符串与字符处理头文件

头文件功能描述
<string>字符串类(std::string),支持动态字符串操作(拼接、查找、替换等)。
<cstring>C 风格字符串函数(如 strlenstrcmpstrcpy 等)。
<cctype>字符处理函数(如判断字符类型、大小写转换等,如 isalphatolower)。

五、内存与动态分配头文件

头文件功能描述
<memory>内存管理工具(如智能指针 unique_ptrshared_ptrweak_ptr,C++11 新增)。
<new>包含 operator new 和 operator delete 的重载声明,支持动态内存分配。

六、时间与日期头文件

头文件功能描述
<chrono>时间测量工具(高精度时间计算,如 system_clocksteady_clock,C++11 新增)。
<ctime>C 风格时间函数(如 timelocaltimeasctime 等)。

七、其他常用头文件

头文件功能描述
<exception>异常处理基础类(std::exception),用于自定义异常。
<stdexcept>标准异常类(如 runtime_errorlogic_error 等)。
<type_traits>类型特性(模板元编程工具,判断类型属性,C++11 新增)。
<typeinfo>运行时类型信息(typeid 操作符,用于获取类型名称)。
<cassert>断言工具(assert 宏,用于调试阶段检查条件)。
<initializer_list>初始化列表(C++11 新增,用于方便地初始化容器或数组)。

注意事项

  1. C 风格头文件
    C++ 兼容 C 标准库头文件,通常将 C 头文件名称前加 c(如 <cstdio> 对应 C 的 <stdio.h>),且内容位于 std 命名空间中。
  2. 命名空间
    标准库内容均位于 std 命名空间中,使用时需通过 using namespace std; 声明或直接用 std:: 限定(如 std::cout)。
  3. C++11 及以上特性
    部分头文件(如 <array><chrono><memory>)是 C++11 后引入的,编译时需确保编译器支持相应标准(如 g++ 使用 -std=c++11 或更高选项)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值