【问题标题】:C++ reference syntaxC++ 参考语法
【发布时间】:2010-12-23 02:04:29
【问题描述】:

这是指定引用的正确方法。我知道两者都适用于编译器,但我想知道正确的方法,因为我在代码库中都看到过。

void Subroutine(int &Parameter) 
{ 
    Parameter=100;
}

void Subroutine(int& Parameter) 
{ 
    Parameter=100;
}

【问题讨论】:

    标签: c++


    【解决方案1】:

    没有“正确”的方式,就像没有“正确”的方式来放置括号和方括号一样。这是风格和偏好的问题。

    保持一致更重要。

    【讨论】:

    • ...但我的真正的风格!
    • 安德烈,不幸的是,有很多人这么说并且实际上是认真的 :)
    【解决方案2】:

    当涉及到指针时,C 程序员倾向于编写int *i,其内容为“评估*i 产生int”。这在引用中是不可能的。如果你写int &i,评估&i 不会产生一个int,而是一个指向int 的指针,因为& 在声明和表达式中有不同的含义。

    这就是为什么我更喜欢将引用变量声明为 int& i,因为 i 是对 int 的引用。

    【讨论】:

      【解决方案3】:

      这是一个偏好问题,两者都是正确的,我个人现在喜欢把它写成type&

      【讨论】:

        【解决方案4】:

        我认为两者在功能上是相同的。我个人更喜欢 int& Parameter,因为它对我来说更有意义——即名为 Parameter 的变量的类型为 reference-to-int,而 int &Parameter 不会立即与我建立联系。我见过的大多数示例也使用 int& 形式。 (即见http://www.cprogramming.com/tutorial/references.html)。

        【讨论】:

          【解决方案5】:

          那是代码风格问题,没有好坏,正确或错误。
          我用这个:

          int & a;
          整数 * b;

          太多的空格(任何可能与二元运算符 & 和 * 有点混淆)但我看起来很清楚。

          只要一致,无论你的风格是正确的。

          【讨论】:

            猜你喜欢
            • 2013-08-28
            • 1970-01-01
            • 1970-01-01
            • 2012-01-29
            • 2020-04-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-14
            相关资源
            最近更新 更多