【发布时间】:2015-11-26 03:33:12
【问题描述】:
#include <iostream>
using namespace std;
int main()
{
int x=80;
int &y=x;
cout<<"x"<<x<<" "<<"y"<<y++;
return 0;
}
上面的代码给了我以下输出:
81 80
谁能解释一下x 的值是如何变成81 的? y 的值是80,后来它增加到81,但是它如何反映在x 中?
是否反映了因为y 是引用变量? 那么x 和y 中的值应该都被修改了?
【问题讨论】:
-
是的,
y只是对x的引用,所以y++实际上是在修改x,y没有自己的价值。
标签: c++ pointers memory-address