管理大量的#include语句和头文件

Management of lot of #include statements and header files

本文关键字:文件 语句 #include 管理      更新时间:2023-10-16

在我当前的项目中。我的许多.cpp.h文件中包含了大量的内容,例如以以下方式声明的6或7个头文件。

#ifndef A_Header
#include "a.h"
#endif
#ifndef B_Header
#include "b.h"
#endif

我想知道如果我把所有这些头(在项目中使用的)包装在一个头中,然后在每个源文件中声明该头是否有意义

#ifndef Wrapper_Header 
#include "wrapper.h" /*This would contain a collection of all headers*/
#endif
这个计划有什么我没有预料到的建议和缺点吗?

这太奇怪了。

每个header都应该包含一个header保护符:

#ifndef THIS_HEADER
#define THIS_HEADER
/* contents of the header */
#endif

这将头中,而不是在包括.cpp文件中。编译器检测到头保护,并避免在再次包含所有文本时重新读取所有文本。这可以节省几秒钟的编译时间。

如果您的头文件有这个,那么.cpp文件中的守卫是无关的,您应该删除它们。6个或7个标题并不多,但那个愚蠢的样板确实加起来了。

永远不要包装标题,一定要明确,明确包含的内容,不要包含不需要的内容。

potatoswater正确

但是我喜欢使用"forward declaration"

我相信你可以谷歌一下。