5

即这些法律声明:

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

预期结果ax, whilebc的别名y?

我问只是因为我在这里阅读

将变量声明为引用而不是普通变量只需要在类型名称后附加一个 & 符号

&这导致我犹豫通过放置在变量名之前创建多个引用变量是否合法。

4

2 回答 2

12
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;

here lvalue must always be a variable to which a temporary value/another variable is assigned. rvalue can be another variable or an expression that evaluates to a temporary variable like (4+5).

于 2013-05-05T03:31:01.433 回答
4

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

于 2013-05-05T03:28:34.207 回答