原型方法中的参数名(头部函数中的变量名)

4

可能是重复问题:
函数声明是否应包括参数名称?

在 C++ 的头文件中,你需要给出函数原型的名称、返回类型和参数类型。你不需要为参数指定名称。 例如:

double fraction(double numerator, double denominator);

对比

double fraction(double, double);

在编写参数时,是否给参数命名有优势?可读性是否会提高? 对于编译或效率等方面是否有区别?


你说得对@Benj,我找不到类似的问题,但你找到了,谢谢。好吧,也许有人会提出编译/效率/其他方面的问题。 - Hugues Fontenelle
4个回答

1

在头文件中保留参数名称的主要原因是为了一致性和可读性。如果您有删除它们的政策,那么您将无法从cpp文件中复制/粘贴声明。

如果您正在使用像doxygen这样的文档引擎,那么保留参数名称可能也会为您提供一个明确的理由,因为文档引擎往往会解析头文件,并且如果您包含了参数名称,则会提供更好的输出。

除此之外,没有严格的理由需要保留它们。


1

效率没有区别。在头文件中省略名称应与在实现文件中省略名称同步。如果您的实现不使用该参数,则可以在那里省略它,然后每个人都可以通过查看参数列表来确定是否使用了参数(某些编译器会在参数具有名称但未在实现中使用时发出警告)。希望这有所帮助...


2
在实现中省略同步了吗?如果在实现中省略,它将无法工作。我可能误解了您的意思,请您重新表述一下? - Hugues Fontenelle
如果在实现中省略了参数并且没有使用它,那么它是可行的。但最好将参数名称作为注释保留在那里,例如:void x(int /这个整数的有用名称/) {...} - pbhd

1

编译上没有区别。(后者的解析可能会更快,因为它需要解析较少的代码,但谁在意呢?)

最大的优势在于可读性。在第二种情况下,用户如何区分哪个是分子,哪个是分母?


1
正如您所说,您将它们放在那里是为了让查看标题的人了解这些参数的用途。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接