如果我们的代码中有以下行
int a=6, c=1;
int& b=a;
然后会有什么影响
(int&) b=c
有c?
的值答案 0 :(得分:3)
b
已经是int&
- 您已将其声明为此类。因此(int&) b
与b
相同。 你的演员没有任何意义。它与b = c;
相同(添加你错过的分号后)。
C ++参考文献并没有引用几个变量 - 它们总是引用它们被初始化的变量。因此 b = c;
对c
没有影响或将来。
实际上,您的代码有未定义的行为,因为由于某种原因您无法初始化变量c
,然后使用其值。
如果您的第一行是int a = 0, c = 1;
,以避免未定义的行为,那么代码的效果就是将1
(c
的值)分配给{{1 (当然,还有别名a
)。