我应该把头文件放在.cpp文件中还是.h文件中?
我正在开发一个项目,试图找到一种简洁的方法来遵循一次而终。目前的情况是,文件既在.cpp文件中也在.h文件中包含。例如,有时它们在someFile.h中使用#include,在someFile.cpp中有时使用。
我想知道,放在哪里进行包含有关系吗?这两种方法都可以工作,但会不会有什么问题?
谢谢
我应该把头文件放在.cpp文件中还是.h文件中?
我正在开发一个项目,试图找到一种简洁的方法来遵循一次而终。目前的情况是,文件既在.cpp文件中也在.h文件中包含。例如,有时它们在someFile.h中使用#include,在someFile.cpp中有时使用。
我想知道,放在哪里进行包含有关系吗?这两种方法都可以工作,但会不会有什么问题?
谢谢
一般来说,只应将头文件(.h)中需要的头文件包含进去。换句话说,如果类型在头文件中使用且在其他地方声明,则应该包含这些头文件。否则,仅在.cpp或.c文件中包含头文件。这可以将编译时间保持到最小,并更好地显示哪些文件是必需的。
一个例外是将非常常用的头文件包含在一个标准化的.h文件中,通常称为Stdafx.h,然后启用预编译头。
在当前文件中包含所需的头文件,无论是.h文件还是.cpp文件。
.cpp
实际上需要头文件而不是相应的.h
时,这个问题就会被提出来。 - zakinsterfoo.cpp
需要 bar.h
,而您将 include 放在 foo.h
而不是 foo.cpp
中,则会在需要 foo.h
的每个 .o
的编译中包含 bar.h
,即使它可能不需要 bar.h
,从而降低编译性能。 - zakinster
struct
/class
类型声明,只需要指针类型即可。在.cpp文件中进行包含。这有助于避免循环包含问题。 - Hot Licks