转自:http://blog.csdn.net/augusdi/article/details/5642151
C库头文件
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <iso646.h> //对应各种运算符的宏
#include <limits.h> //定义各种数据类型最值的常量
#include <locale.h> //定义本地化C函数
#include <math.h> //定义数学函数
#include <setjmp.h> //异常处理支持
#include <signal.h> //信号机制支持
#include <stdarg.h> //不定参数列表支持
#include <stddef.h> //常用常量
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
传统C++
#include <fstream.h> //改用<fstream>
#include <iomanip.h> //改用<iomainip>
#include <iostream.h> //改用<iostream>
#include <strstrea.h> //该类不再支持,改用<sstream>中的stringstream
————————————————————————————————
标准C++
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <cctype> //字符处理
#include <cerrno> //定义错误码
#include <cfloat> //浮点数处理
#include <ciso646> //对应各种运算符的宏
#include <climits> //定义各种数据类型最值的常量
#include <clocale> //定义本地化函数
#include <cmath> //定义数学函数
#include <complex> //复数类
#include <csignal> //信号机制支持
#include <csetjmp> //异常处理支持
#include <cstdarg> //不定参数列表支持
#include <cstddef> //常用常量
#include <cstdio> //定义输入/输出函数
#include <cstdlib> //定义杂项函数及内存分配函数
#include <cstring> //字符串处理
#include <ctime> //定义关于时间的函数
#include <cwchar> //宽字符处理及输入/输出
#include <cwctype> //宽字符分类
#include <deque> //STL 双端队列容器
#include <exception> //异常处理类
#include <fstream> //文件输入/输出
#include <functional> //STL 定义运算函数(代替运算符)
#include <limits> //定义各种数据类型最值常量
#include <list> //STL 线性列表容器
#include <locale> //本地化特定信息
#include <map> //STL 映射容器
#include <memory> //STL通过分配器进行的内存分配
#include <new> //动态内存分配
#include <numeric> //STL常用的数字操作
#include <iomanip> //参数化输入/输出
#include <iOS> //基本输入/输出支持
#include <iosfwd> //输入/输出系统使用的前置声明
#include <iostream> //数据流输入/输出
#include <istream> //基本输入流
#include <iterator> //STL迭代器
#include <ostream> //基本输出流
#include <queue> //STL 队列容器
#include <set> //STL 集合容器
#include <sstream> //基于字符串的流
#include <stack> //STL 堆栈容器
#include <stdexcept> //标准异常类
#include <streambuf> //底层输入/输出支持
#include <string> //字符串类
#include <typeinfo> //运行期间类型信息
#include <utility> //STL 通用模板类
#include <valarray> //对包含值的数组的操作
#include <vector> //STL 动态数组容器
————————————————————————————————
C99增加的部分
#include <complex.h> //复数处理
#include <fenv.h> //浮点环境
#include <inttypes.h> //整数格式转换
#include <stdbool.h> //布尔环境
#include <stdint.h> //整型环境
#include <tgmath.h> //通用类型数学宏
①补充:
#include <iso646.h> // 对应各种运算符的宏
#include <setjmp.h> // 非局部跳转
#include <signal.h> // 信号值
#include <stdarg.h> // 变长参数表
#include <stddef.h> // 常用常量
#include <cfloat>
#include <ciso646>
#include <climits>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <iterator> // STL迭代器
#include <locale> // 本地化特定信息
#include <memory> // STL通过分配器进行的内存分配
#include <new> // 动态内存分配
#include <numeric> // STL常用的数字操作
#include <typeinfo> // 运行期间类型信息
#include <valarray> // 对包含值的数组的操作
②通用
传统头文件(除输入输出外),文件名(<*.h>)前加上 c (<c*>),就是相应的标准头了。其功能相同。而像string.h 与 string、limits.h 与 limits、locale.h 与
locale这样的,功能却不完全相同。
③关于MFC头文件
对于传统C++,可以包含MFC头文件。如afxver.h 里面定义了绝大部分MFC数据类型,
afx.h 定义了CString、CTime等类。
对于标准C++,有点麻烦。经过一番研究,我发现<iostream>头与afx.h中引用的库
有冲突(不知为什么)。这样,凡是包含有afx.h的MFC头文件,在包含时,都不能包含<iostream>头(MFC程序没有这个问题)。afxver.h可以<iostream>头同时包含。