【发布时间】:2019-05-29 05:55:03
【问题描述】:
谁能解释一下这两行之间有什么区别(如果有的话):
int& i;
int &i;
我知道这些都是参考,而且似乎都可以正常工作。有理由使用其中一个吗?有没有规定什么是正确的方法?
提前致谢。
【问题讨论】:
-
显而易见:一个在 '&' 之前有一个空格,而另一个没有。在解析中,'&' 之前或之后不需要有空格。所以你忘记了第三个等价的例子:
int&i;.
标签: c++
谁能解释一下这两行之间有什么区别(如果有的话):
int& i;
int &i;
我知道这些都是参考,而且似乎都可以正常工作。有理由使用其中一个吗?有没有规定什么是正确的方法?
提前致谢。
【问题讨论】:
int&i;.
标签: c++
这两者在意思上绝对没有区别,纯属文体问题。只需选择一个并尝试在项目中保持一致。
我相信语言标准中的示例将 & 符号放在左侧 - 我想,这与任何人都喜欢一种方式而不是另一种方式一样好。
也就是说,正如您编写的那样,这两行都不是有效代码,因为您不能有未初始化的引用。你需要类似的东西:
int a = 10;
int& b = a;
【讨论】: