c++的常用头文件
2026-05-13 19:09:48
发布于:浙江
说明:
<stdio.h>是 C 语言标准头文件,在 C++ 中仍可使用,但推荐使用对应的<cstdio>。- 它主要提供 C 风格输入输出(如
printf、scanf、fopen等)。
| 序号 | 头文件 | 主要作用 |
|---|---|---|
| 1 | <iostream> |
C++ 输入输出流(cin、cout、cerr) |
| 2 | <iomanip> |
格式化 I/O(如 setw、setprecision) |
| 3 | <fstream> |
文件流操作(ifstream、ofstream) |
| 4 | <sstream> |
字符串流(stringstream) |
| 5 | <string> |
字符串类及相关操作 |
| 6 | <vector> |
动态数组容器 std::vector |
| 7 | <list> |
双向链表 std::list |
| 8 | <deque> |
双端队列 std::deque |
| 9 | <queue> |
队列 std::queue 和优先队列 |
| 10 | <stack> |
栈 std::stack |
| 11 | <map> |
关联容器 std::map、std::multimap |
| 12 | <set> |
集合 std::set、std::multiset |
| 13 | <unordered_map> |
哈希映射(C++11) |
| 14 | <unordered_set> |
哈希集合(C++11) |
| 15 | <bitset> |
位集合 std::bitset |
| 16 | <array> |
固定大小数组 std::array(C++11) |
| 17 | <tuple> |
元组 std::tuple(C++11) |
| 18 | <utility> |
工具组件(pair、move、forward) |
| 19 | <algorithm> |
常用算法(排序、查找、变换) |
| 20 | <numeric> |
数值算法(累加、内积等) |
| 21 | <functional> |
函数对象、lambda、绑定 |
| 22 | <iterator> |
迭代器相关工具 |
| 23 | <memory> |
智能指针(unique_ptr、shared_ptr) |
| 24 | <new> |
new / delete 运算符相关 |
| 25 | <thread> |
多线程支持(C++11) |
| 26 | <mutex> |
互斥量(std::mutex) |
| 27 | <condition_variable> |
条件变量 |
| 28 | <future> |
异步结果(std::future、promise) |
| 29 | <atomic> |
原子操作 |
| 30 | <chrono> |
时间库(时间点、时长) |
| 31 | <cmath> |
数学函数(sin、cos、sqrt 等) |
| 32 | <complex> |
复数运算 |
| 33 | <random> |
随机数生成(C++11) |
| 34 | <limits> |
数值类型极限值 |
| 35 | <type_traits> |
类型特征(编译期类型判断) |
| 36 | <typeindex> |
类型索引 |
| 37 | <exception> |
异常处理 |
| 38 | <stdexcept> |
标准异常类 |
| 39 | <cassert> |
断言宏 assert |
| 40 | <csignal> |
信号处理 |
| 41 | <cstdlib> |
通用工具(exit、system) |
| 42 | <ctime> |
日期与时间函数 |
| 43 | <cstring> |
C 风格字符串处理 |
| 44 | <cstdio> |
C 风格输入输出(推荐替代 stdio.h) |
| 45 | <stdio.h> |
C 风格输入输出(如 printf、scanf) |
| 46 | <locale> |
本地化支持 |
| 47 | <codecvt> |
字符编码转换 |
| 48 | <regex> |
正则表达式(C++11) |
| 49 | <filesystem> |
文件系统操作(C++17) |
| 50 | <optional> |
可选值(C++17) |
| 51 | <variant> |
类型安全的联合体(C++17) |
| 52 | <any> |
存储任意类型单个值(C++17,std::any) |
| 53 | <span> |
提供对连续内存的安全视图(C++20,std::span) |
| 54 | <ranges> |
范围库,支持管道式算法(C++20) |
| 55 | <bit> |
位操作工具(如 std::rotl、std::countr_zero,C++20) |
| 56 | <numbers> |
数学常数(π、e 等,C++20) |
| 57 | <source_location> |
获取源码位置信息(C++20) |
| 58 | <compare> |
三路比较(<=> 运算符支持,C++20) |
| 59 | <semaphore> |
计数信号量(C++20) |
| 60 | <latch> |
同步原语,用于线程计数(C++20) |
| 61 | <barrier> |
线程屏障同步(C++20) |
| 62 | <cctype> |
字符类型判断与转换(isdigit、toupper 等) |
| 63 | <cerrno> |
错误码宏 errno |
| 64 | <cfenv> |
浮点环境控制(舍入模式、异常) |
| 65 | <cfloat> |
浮点数类型极限值 |
| 66 | <cinttypes> |
整数类型格式化宏(C99/C++11) |
| 67 | <climits> |
整型极限值 |
| 68 | <csetjmp> |
非局部跳转(setjmp / longjmp) |
| 69 | <csignal> |
信号(已在前面,这里补充详细用途:如 SIGINT、SIGTERM) |
| 70 | <cstdarg> |
可变参数宏(va_list) |
| 71 | <cstddef> |
常用类型定义(size_t、ptrdiff_t、nullptr_t) |
| 72 | <cstdint> |
固定宽度整数类型(int32_t、uint64_t 等) |
| 73 | <cuchar> |
Unicode 字符转换 |
| 74 | <cwchar> |
宽字符处理 |
| 75 | <cwctype> |
宽字符类型判断 |
| 76 | <ciso646> |
替代运算符表示(如 and、or,C++20 已废弃) |
| 77 | <concepts> |
概念库(C++20,约束模板参数) |
| 78 | <coroutine> |
协程支持(C++20) |
| 79 | <expected> |
表示预期值或错误(C++23) |
| 80 | <format> |
文本格式化库(C++20) |
| 81 | <spanstream> |
std::span 的字符串流(C++23) |
全部评论 3
别艾特我了
3天前 来自 浙江
0不用艾特我
3天前 来自 浙江
0n
3天前 来自 浙江
0
pbds 和 deque 似乎没有,而且有一些函数没写出来,比如 stdio.h 的 getchar 和 putchar
4天前 来自 浙江
0哦 deque 有
4天前 来自 浙江
0ok
4天前 来自 浙江
0


















有帮助,赞一个