指定引用的正确方法是什么。我知道两者都适用于编译器,但是我想知道正确的方法,因为我已经在代码库中看到过。
void Subroutine(int &Parameter)
{
Parameter=100;
}
OR
void Subroutine(int& Parameter)
{
Parameter=100;
}
答案 0 :(得分:9)
没有'正确'的方式,就像没有'正确'的方式放置括号和括号一样。这是风格和偏好的问题。
保持一致更为重要。
答案 1 :(得分:5)
当涉及指针时,C程序员倾向于编写int *i
,其中写着“评估*i
会产生int
”。参考不可能做到这一点。如果你写int &i
,评估&i
不会产生一个int,而是一个指向int的指针,因为&
在声明和表达式中有不同的含义。
这就是为什么我更喜欢将引用变量声明为int& i
,因为i
是对int的引用。
答案 2 :(得分:4)
这是一个偏好问题,两者都是正确的,我个人现在喜欢把它写成类型&
答案 3 :(得分:1)
我认为两者在功能上完全相同。我个人更喜欢int&参数因为它对我更有意义 - 即名为Parameter
的变量属于reference-to-int
类型,而int&参数不会立即与我建立连接。我见过的大多数例子都使用了int&形式也是如此。 (见http://www.cprogramming.com/tutorial/references.html)。
答案 4 :(得分:0)
这是代码风格问题,没有人是好是坏,是对还是错 我用这个:
int&一;
int * b;
太多空格(任何可能与二元运算符&和*有点混淆)但我看起来很清楚。
只要一致,无论你的风格是否正确。