【发布时间】:2010-12-23 02:04:29
【问题描述】:
这是指定引用的正确方法。我知道两者都适用于编译器,但我想知道正确的方法,因为我在代码库中都看到过。
void Subroutine(int &Parameter)
{
Parameter=100;
}
或
void Subroutine(int& Parameter)
{
Parameter=100;
}
【问题讨论】:
标签: c++
这是指定引用的正确方法。我知道两者都适用于编译器,但我想知道正确的方法,因为我在代码库中都看到过。
void Subroutine(int &Parameter)
{
Parameter=100;
}
或
void Subroutine(int& Parameter)
{
Parameter=100;
}
【问题讨论】:
标签: c++
没有“正确”的方式,就像没有“正确”的方式来放置括号和方括号一样。这是风格和偏好的问题。
保持一致更重要。
【讨论】:
当涉及到指针时,C 程序员倾向于编写int *i,其内容为“评估*i 产生int”。这在引用中是不可能的。如果你写int &i,评估&i 不会产生一个int,而是一个指向int 的指针,因为& 在声明和表达式中有不同的含义。
这就是为什么我更喜欢将引用变量声明为 int& i,因为 i 是对 int 的引用。
【讨论】:
这是一个偏好问题,两者都是正确的,我个人现在喜欢把它写成type&
【讨论】:
我认为两者在功能上是相同的。我个人更喜欢 int& Parameter,因为它对我来说更有意义——即名为 Parameter 的变量的类型为 reference-to-int,而 int &Parameter 不会立即与我建立联系。我见过的大多数示例也使用 int& 形式。 (即见http://www.cprogramming.com/tutorial/references.html)。
【讨论】:
那是代码风格问题,没有好坏,正确或错误。
我用这个:
int & a;
整数 * b;
太多的空格(任何可能与二元运算符 & 和 * 有点混淆)但我看起来很清楚。
只要一致,无论你的风格是正确的。
【讨论】: