C ++参考语法

时间:2010-12-23 02:04:30

标签: c++

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

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

OR

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

5 个答案:

答案 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;

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

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