gpt4 book ai didi

c++ - 头文件与前向声明

转载 作者:太空狗 更新时间:2023-10-29 23:47:38 25 4
gpt4 key购买 nike

http://www.learncpp.com/cpp-tutorial/19-header-files/

它提到以下作为“前向声明”的另一种解决方案:

头文件只需编写一次,并且可以根据需要包含在任意多个文件中。如果函数原型(prototype)发生变化(例如,通过添加新参数),这还可以最大限度地减少需要进行的更改数量,从而有助于维护。

但是,难道这也不能用“前向声明”来做吗?因为我们在“add.cpp”中定义函数 int add(int x, int y),并通过键入在“main.cpp”中使用此函数:

int add(int x, int y);

?谢谢。

最佳答案

这当然是可能的。但是对于实际大小的程序,将有大量其他文件需要声明的大量函数。如果您在每个需要访问另一个函数的文件中放置前向声明,就会遇到很多问题:

  1. 您只是将相同的声明复制粘贴到许多不同的文件中。如果您更改函数签名,则必须更改粘贴其前向声明的每个位置。
  2. 前向声明本身并不会自然地告诉您实际函数在哪个文件中定义。如果您使用合理的方法组织头文件和源文件(例如,在 .cpp 文件中定义的每个函数都被声明在具有相同名称的 .h 文件中),则函数定义的位置由声明它的位置暗示。
  3. 你的代码对其他程序员来说可读性会降低,他们非常习惯于为所有事情使用头文件(有充分的理由),即使你只需要一个头文件是一个特定的函数并且你可以很容易地自己转发声明它.

关于c++ - 头文件与前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4757619/

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