在我目前的项目中。我的很多.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
我不期待这个计划的任何建议和缺点吗?
答案 0 :(得分:2)
这完全是奇怪的。
每个标头都应包含标头保护:
#ifndef THIS_HEADER
#define THIS_HEADER
/* contents of the header */
#endif
这是在标题内,而不是在包含.cpp
文件中。编译器会检测到标头保护,并避免在重新包含时重新读取所有文本。这可以节省编译时间。
如果你的标题有,那么.cpp
文件中的警卫是无关紧要的,你应该删除它们。 6或7个标题不是很多,但是那个愚蠢的样板确实会加起来。
答案 1 :(得分:0)
永远不要包装你的标题,永远明确,明确包含的内容,不要包含你不需要的内容。
答案 2 :(得分:0)
Potatoswatter是正确的
但我想添加使用“前向声明”。
我相信你可以谷歌。