假设我有以下内容:
Main.cpp
#include <Windows.h>
#include "B.h"
...
-
B.h
...
SomePrototypeFunctionNeedingWindowsH();
-
在 B.h 中,我不需要再次包含 Windows.h,因为它已经事先包含在内。为清楚起见,我希望需要为每个需要它的新文件包含 Windows.h。我正在使用 VS2015。
这可以做到吗?
这可以在不影响编译时间的情况下完成吗?
这会被认为是可接受的做法吗?
如果这样做,我会遇到任何问题吗?
最佳答案
也许您正在寻找 C++ 中的预处理器指令。 它们是这样的:
#ifndef HEADERFILE_H
#define HEADERFILE_H
/*Your header declarations/definitions*/
#endif
在这种预处理器技术中,您基本上是告诉编译器它不应该多次包含相同的 header 。 Refer to this post for more thorough understanding
关于C++ 不包括来自先前 header 的包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387933/