2012-03-02 53 views

回答

6

如果标头可以脱离前向声明,那么我总是在标头中使用它,并在实现文件中使用#include。 (FD可以用作参考和指针类型)。

如果他们都需要它,那么我倾向于将它们放在两个位置,这样如果标题被更改,我可以将它从.h中删除。

0

如果你可以更好地使用前向声明,因为你避免了多重包含,循环包含等。 所以当你可以使用一个指针时,把一个前向声明然后包含在所有其他文件中.cpp 你不得不直接包含在.h中(当你不使用指针或引用时,以及从类中派生时)

2

我将<string>包含到预编译头中,因为我不打算经常更改它:) 。主要规则是:所有我不会经常更改的头文件都包含在预编译头文件中:STD,系统头文件,稳定的第三方库等(“经常”取决于项目大小,如果项目很大,“往往”倾向于“决不”)。

其他标题我投票了@111111's answer

+0

感谢您的补充。对此,我真的非常感激。 – flumpb 2012-03-02 14:51:51