b
已经是int&
- 你这样声明它。所以(int&) b
是一样的b
。你的演员没有任何意义。它与b = c;
(添加您错过的分号后)相同。
C++ 引用不会四处引用多个变量——它们总是引用它们被初始化的变量。所以b = c;
不会对现在或未来产生影响c
。
但实际上,您的代码具有未定义的行为,因为由于某种原因您未能初始化变量c
,然后您使用了它的值。
如果您的第一行是int a = 0, c = 1;
为了避免未定义的行为,那么您的代码的效果是将1
(的值c
)分配给(a
当然,分配给它的别名b
)。