C++ 标准库头文件分类及用途
其实大部分头函数<bits/stdc++.h>里面
输入输出相关
<iostream>
提供标准输入输出流对象(cin,cout,cerr,clog)和操作符(<<,>>)。<fstream>
支持文件流操作(ifstream,ofstream,fstream)。<sstream>
实现字符串流处理(istringstream,ostringstream)。
容器与算法
<vector>
动态数组容器,支持随机访问和动态扩容。<map>/<set>
关联容器,提供红黑树实现的键值对存储(map)或有序集合(set)。<algorithm>
包含常用算法如排序(sort)、查找(find)、遍历(for_each)。
内存管理
<memory>
提供智能指针(shared_ptr,unique_ptr,weak_ptr)和内存分配工具。<new>
定义动态内存操作(new,delete)及异常处理。
字符串处理
<string>
实现std::string类,支持字符串操作(拼接、查找、替换等)。<cstring>
C风格字符串函数(strcpy,strlen,strcmp)。
多线程与并发
<thread>
线程管理(std::thread)及相关同步机制。<mutex>
互斥锁(mutex,lock_guard)和条件变量(condition_variable)。
数学与随机数
<cmath>
数学函数(sin,sqrt,pow)和常量(如M_PI需编译器支持)。<random>
随机数生成器(mt19937)和分布(uniform_int_distribution)。
其他常用头文件
<utility>
通用工具如std::pair和std::move。<chrono>
时间库(system_clock,duration)。<stdexcept>
标准异常类(runtime_error,invalid_argument)。
注意事项
- 避免包含未使用的头文件以减少编译时间。
- C兼容头文件(如
<cstdio>)优先于C风格(<stdio.h>)。 - 模板类(如
vector)的实现通常直接包含在头文件中。