你能在C ++中的同一行声明多个引用变量吗?

时间:2013-05-05 03:25:59

标签: c++ reference

即。是这些法律声明:

int x = 1, y = z = 2;
int& a = x, b = c = y;

预期结果ax的别名,而bcy的别名?

我只是因为我读了here

  

将变量声明为引用而不是普通变量   只需在&strong>类型名称

上添加&符号

这让我对通过将&放在变量名称之前创建多个参考变量是否合法而犹豫不决。

2 个答案:

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

你需要追加一个&在每个引用的左侧(就像你声明一个指针时需要一个*)。