在 Codeacademy 的函数类(class)中,如果您要在程序中调用函数,他们会教您使用三个文件:
int main()
文件,我通过反复试验发现它是 C++ 程序的程序部分不可或缺的一部分(我猜......), .cpp 文件扩展名DECLARING 函数的头文件,文件扩展名为 .hpp。
带有函数 DEFINITIONS 的单独文件,文件扩展名为 .cpp
在头文件中单独声明和定义函数并简单地将它们包含在 int main()
之上是否可行?对我来说,拥有单独的声明和定义文件似乎会让大型项目中的问题变得困惑。
最佳答案
在大型项目中,您通常只需要类型和函数声明,而不是定义。例如在其他头文件中。如果所有定义都在 header 中,那么包含多个其他 header 及其传递包含的组合结果将导致巨大编译单元。这显着会影响编译时间,因为编译器需要处理的代码量会激增到超出所需的数量级。它还会影响链接时间,因为链接器需要做更多工作来丢弃更多目标文件中包含的重复项。
除非所有内容都标记为“内联”,否则您还很容易遇到 ODR(单一定义规则)问题。
关于c++ - 为什么将函数声明和定义放在单独的文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62233424/