0

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

这个计划有什么我没有预料到的建议和缺点吗?

4

3 回答 3

2

这太奇怪了。

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

#ifndef THIS_HEADER
#define THIS_HEADER

/* contents of the header */

#endif

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

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

于 2013-05-05T03:36:41.390 回答
0

土豆泥是对的

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

我相信你可以谷歌它。

于 2013-05-05T03:41:41.310 回答
0

永远不要包装你的标题,总是明确的,明确包含什么,不要包含你不需要的东西。

于 2013-05-05T03:17:58.793 回答