【问题标题】:Cannot understand a C++ line无法理解 C++ 行
【发布时间】:2015-06-19 19:04:03
【问题描述】:

我正在阅读 C++ 代码并遇到了一个函数:

double Nm_poissons_ratio(double /*Temp*/)

{

  double PR(0.0);

  PR = 0.31;

  return PR;

}

我不明白 Temp 变量周围的 /* */ 字符的作用是什么。

谢谢

【问题讨论】:

  • @Ami, Cory & ARL:谢谢你的回答。有趣的是,在函数参数中我们有变量类型但没有变量;想知道编译器如何解释这种类型的参数。
  • 这里一个变量。它只是没有您可以使用的名称。

标签: c++ function arguments character


【解决方案1】:

如果你写

double Nm_poissons_ratio(double Temp)

编译器会发出警告。关于一个未使用的变量。

在这种情况下,编码员出于某种原因想要保留签名,但为了避免警告。因此,他/她发表了评论以显示它最初是什么。


为什么这是签名?很难知道。

  • 可能这是代码的中间版本,他/她打算以后使用这个参数(这其实是保留警告的一个极好的案例)。

  • 也许它作为回调传递给需要特定签名的某个函数。

【讨论】:

  • 感谢您的回答。有趣的是,在函数参数中我们有变量类型但没有变量;想知道编译器如何解释这种类型的参数。
【解决方案2】:

这意味着该函数接受一个double 参数,但他们正在注释掉名称(因此是/* */),因为要命名的参数。

可能是因为编译器会警告他们未使用的形式参数,因为他们不会在函数中的任何地方使用Temp

【讨论】:

    【解决方案3】:

    所发生的只是开发人员注释掉了一段代码。基本上一条注释告诉计算机忽略这段代码。所以,如果你正在开发一个程序,你会:

    /* This is hidden to everyone BUT the programmer. */
    

    【讨论】:

      猜你喜欢
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 2020-01-02
      相关资源
      最近更新 更多