Visual Studio似乎希望将类构造函数代码和事件处理代码放在.h文件中。我只参与了小型1人项目,并想知道一般行业标准是什么。
对于Visual C ++ Application项目,将在.h文件中放入哪些代码?我习惯于在.h文件中声明你的类并在.cpp文件中编码的经典C ++方式。这仍然适用于Visual Studio应用程序吗?
我有强大的C背景,可以解释我对此的偏好。 VSC ++编译器似乎并不介意。
简而言之:什么是应该放在哪种类型的文件?
TIA 完
答案 0 :(得分:3)
如果你正在使用MFC并且你在谈论生成的代码,那么最好不要管它。
如果您正在尝试进行'正常'C ++开发,请尽可能少地使用标头,因为这意味着客户端代码不依赖于太多的实现细节。您可以获得的内容取决于模板的使用,以及您的性能预算可以支持多少间接。
答案 1 :(得分:3)
没有广泛接受的行业标准。通过在函数头中放入(简短的)函数定义,可以让编译器更好地内联代码。好处是它可以使代码运行得更快(尽管这些函数保持简短)。但是,这需要向包含该标头的客户端公开更多代码,从而使您(或您的同事)在更改实现时重新编译更多文件。
您还必须考虑违反工具的成本。由于VC ++的向导坚持将函数放在标题中,所以如果你不同意,你必须每次都移动它们。
我会说这是特定于项目的。
答案 2 :(得分:2)
对于Visual C ++应用程序项目 什么代码会放在.h中 文件?我习惯了经典模式 C ++中声明你的类的方法 .h文件和.cpp文件中的编码。 这仍然适用于Visual Studio 应用
简短:是的 长:取决于人或语言。在c ++中,标题用于声明和cpp用于编码。对于C#,您有一个文件(或者如果使用接口,则为2)
答案 3 :(得分:1)
这可能看起来很小,但请记住:标题在几个地方都是#included。 (包括标题在内的标题会使事情进一步复杂化。)每当你更改标题时,很多文件都会被重新编译。保持标题中频繁更改代码的数量减少了依赖文件的重新编译。
另一件事:整洁的头文件可让您快速了解类/表单的内容。