【发布时间】:2013-10-09 15:02:54
【问题描述】:
如果 ri 是对 i 的引用,我不太明白为什么这个输出是 10 10...
int i, &ri = i;
i = 5;
ri = 10;
std::cout << i << " " << ri << std::endl;
有人可以帮我解决这个问题吗?
同样,
int i = 0, &r1 = i;
double d = 1, &r2 = d;
r2 = r1;
std::cout << r2; // output 0
i = r2;
std::cout << i; // output 0
r1 = d;
std::cout << r1; // output 0
如果 i = r2 并且当 d = 1 时 r2 是对 d 的引用,为什么输出不是 1?还有,当r1 = d时,为什么输出不是1呢?
【问题讨论】:
-
您不能重新分配参考文献。
-
但是如果 r2 = d 那么为什么 r2 = r1, 1 上的输出不是呢?
-
在第一个sn-p中,
ri是i的别名。 -
@Tyler,赋值后r2=r1,而r1=i,0,r2为0
标签: c++ reference definitions