gpt4 book ai didi

c++ - 为什么将函数声明和定义放在单独的文件中?

转载 作者:行者123 更新时间:2023-12-01 14:33:27 27 4
gpt4 key购买 nike

在 Codeacademy 的函数类(class)中,如果您要在程序中调用函数,他们会教您使用三个文件:

  • int main() 文件,我通过反复试验发现它是 C++ 程序的程序部分不可或缺的一部分(我猜......), .cpp 文件扩展名

  • DECLARING 函数的头文件,文件扩展名为 .hpp。

  • 带有函数 DEFINITIONS 的单独文件,文件扩展名为 .cpp

在头文件中单独声明和定义函数并简单地将它们包含在 int main() 之上是否可行?对我来说,拥有单独的声明和定义文件似乎会让大型项目中的问题变得困惑。

最佳答案

在大型项目中,您通常只需要类型和函数声明,而不是定义。例如在其他头文件中。如果所有定义都在 header 中,那么包含多个其他 header 及其传递包含的组合结果将导致巨大编译单元。这显着会影响编译时间,因为编译器需要处理的代码量会激增到超出所需的数量级。它还会影响链接时间,因为链接器需要做更多工作来丢弃更多目标文件中包含的重复项。

除非所有内容都标记为“内联”,否则您还很容易遇到 ODR(单一定义规则)问题。

关于c++ - 为什么将函数声明和定义放在单独的文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62233424/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com