管理很多#include语句和头文件

时间:2013-05-05 03:13:22

标签: c++ include header-files

在我目前的项目中。我的很多.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

我不期待这个计划的任何建议和缺点吗?

3 个答案:

答案 0 :(得分:2)

这完全是奇怪的。

每个标头都应包含标头保护

#ifndef THIS_HEADER
#define THIS_HEADER

/* contents of the header */

#endif

这是标题内,而不是在包含.cpp文件中。编译器会检测到标头保护,并避免在重新包含时重新读取所有文本。这可以节省编译时间。

如果你的标题有,那么.cpp文件中的警卫是无关紧要的,你应该删除它们。 6或7个标题不是很多,但是那个愚蠢的样板确实会加起来。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Potatoswatter是正确的

但我想添加使用“前向声明”。

我相信你可以谷歌。