C++ 原型方法中的参数名称(头函数中的变量名称)

C++ 原型方法中的参数名称(头函数中的变量名称),c++,methods,C++,Methods,可能重复: 在C++头文件中,需要给出函数原型的名称、返回类型和参数类型。您不需要指定参数的名称。 例如: vs 写一个论点的名字有好处吗?可读性? 编译、效率或其他方面有什么不同吗?在头文件中保留参数名称的主要原因是为了一致性和可读性。如果您有删除它们的策略,则无法再从cpp文件复制/粘贴声明 如果您使用的是像doxygen这样的文档引擎,那么这也可能为您提供一个保留参数名的有力理由,因为文档引擎倾向于解析标题,如果您包含了参数名,那么将提供更好的输出 除此之外,没有严格的理由保留它们。效率

可能重复:

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

vs

写一个论点的名字有好处吗?可读性?
编译、效率或其他方面有什么不同吗?

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

如果您使用的是像doxygen这样的文档引擎,那么这也可能为您提供一个保留参数名的有力理由,因为文档引擎倾向于解析标题,如果您包含了参数名,那么将提供更好的输出


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

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

编译时没有区别。(可能以后的解析会很快,因为它必须解析更少的代码,但谁在乎呢?)


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

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

“在实现中与省略同步?”如果我在实现中省略,它将不起作用。我可能误解了你的意思,请你重新措辞好吗?如果在实现中没有使用参数,那么在实现中省略是有效的。但是最好还是将参数名作为注释保留在那里,例如void x(int/*theUsefolNameofthint*/){…}你说得对@Benj,我找不到类似的问题,但你找到了,谢谢。也许有人带来了编译/效率/其他东西。
double fraction(double numerator, double denominator);
double fraction(double, double);