即。是这些法律声明:
int x = 1, y = z = 2;
int& a = x, b = c = y;
预期结果a
是x
的别名,而b
和c
是y
的别名?
我只是因为我读了here
将变量声明为引用而不是普通变量 只需在&strong>类型名称
上添加&符号
这让我对通过将&
放在变量名称之前创建多个参考变量是否合法而犹豫不决。
答案 0 :(得分:10)
int x = 1, y = z = 2;--incorrect
int& a = x, b = c = y;--incorrect
陈述应该是这样的:
int x = 1, y =2,z = 2;
int&q=x,&b=y,&c=y;
c ++中的所有赋值和初始化语句都应该是以下类型:
lvalue=rvalue;
此处,左值必须始终是分配临时值/另一个变量的变量。 rvalue可以是另一个变量或一个表达式,其值为(4 + 5)。
等临时变量答案 1 :(得分:4)
你需要追加一个&在每个引用的左侧(就像你声明一个指针时需要一个*)。