我正在使用C ++,我正在考虑将我的函数实现放入.h。我知道.h文件用于定义,而.cpp用于实现,但是如何将所有文件拆分成标题和源代码将使我受益。好吧,如果我的目标是创建静态或动态库,当然这会产生影响,但我正在为自己创建此代码,而不是计划从中创建一个库。那么将源与定义分开还有其他好处吗?
答案 0 :(得分:7)
显而易见的目标是减少耦合:只要更改头文件,任何包含的内容都必须重新编译。这可能会迅速对编译时间产生强烈的影响(即使是在一个小项目中)。
答案 1 :(得分:2)
您可以将几乎所有代码放入.h文件中,它将是仅限标题库。但是如果你想要更快的部分重新编译,或者你想将一些代码放到共享库中 - 你应该创建.cpp文件。
答案 2 :(得分:2)
根据项目的大小,它将节省您的编译时间,并且可以了解所有资源等(除非您将所有内容放在一个文件中)。
组合头文件越好,编译器应用更改所需的工作就越少。另外,查看一个小的头文件来查找一些被遗忘的参数信息比滚动一个孔cpp文件容易得多。
答案 3 :(得分:1)
另一个明显的改进是避免在每个使用它的文件中重新编译函数代码,而是编译一次并在需要时使用它。
另一个是它遵循惯例(和标准的一个定义规则),所以其他人会发现它更容易处理和理解。
答案 4 :(得分:0)
这取决于项目的规模。最多约500 LOC, 我倾向于将所有内容放在一个文件中,并使用该功能 班上的定义。除了高达约500 LOC, 我通常使用比C ++更简单的语言;像AWK这样的东西。
一旦代码变得足够大,可以提供多个来源 文件,尽可能少地放置它绝对是一个优势 在标题中,这意味着放入所有功能 源文件中的定义。并且尽快上课 变得不平凡,你可能不想要这个功能 出于可读性原因,类本身的定义。
- 詹姆斯坎泽