使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖,建议的包含顺序如下:
C或C++等源文件中按照以下顺序包含,建议按照稳定度排序:
c/cpp对应的头文件,
C/C++标准库的.h,
系统库的.h,
平台库的.h,
其他第三方库的.h,
本项目内其他的.h:
举例,Foo.cpp中包含头文件的次序如下:
#include "Foo/Foo.h"
#include <cstdlib>
#include <string>
#include <linux/list.h>
#include <linux/time.h>
#include "platform/Base.h"
#include "platform/Framework.h"
#include "project/public/Log.h"
将Foo.h放在最前面可以保证当Foo.h遗漏某些必要的库,或者有错误时,Foo.cpp的构建会立刻中止,减少编译时间,同时也可以实现自定义头文件的自包含。 对于头文件中包含顺序也参照此建议。