什么是正确的包含顺序

时间:2017-07-14 07:40:43

标签: c++ c include preprocessor include-path

关于gerrit得-1,因为我使用以下include命令:

#include <aaa/b.h>
#include <aaa/d.h>
#include <aaa/f.h>
#include <aaa/h.h>
#include <aaa/bbb/c.h>
#include <aaa/bbb/ccc/ddd/e.h>
#include <aaa/bbb/ccc/ddd/eee/a.h>
#include <aaa/bbb/ccc/ddd/eee/g.h>

我的评论员希望我使用以下字母(.h文件)顺序:

#include <aaa/bbb/ccc/ddd/eee/a.h>
#include <aaa/b.h>
#include <aaa/bbb/c.h>
#include <aaa/d.h>
#include <aaa/bbb/ccc/ddd/e.h>
#include <aaa/f.h>
#include <aaa/bbb/ccc/ddd/eee/g.h>
#include <aaa/h.h>

哪个顺序正确?我确信我的方式要好得多,但我得到了-1。

2 个答案:

答案 0 :(得分:2)

通常会编写头文件,因此您可以在使用时以任何顺序包含它们。 C和C ++标准库头符合该原则。

如果情况并非如此,则支持文件应该这样说。

Alpabeticisation只是表达了审稿人的思维方式,我认为这不是特别有帮助。

对于它的价值,我倾向于在列表中放置更多“通用”包含(例如stdlib.hstdio.h在顶部)。

答案 1 :(得分:0)

我担心你的评论家编程知识很低。我的建议 - 做他想做的事情(通常你的技能和自我一样低),但忘记字母顺序。订单必须符合逻辑而不是按字母顺序排列