代码是这样的,我不知道结果怎么可能是10
int x = 5;
int &f(){
return x;
}
int main(){
f() = 10; > Why this step is assigning 10 to x? Is this due to the use of "&"?
cout << x;
}
答案 0 :(得分:5)
您的函数f
返回对全局变量x
的引用。
这就是int&
的返回类型的含义: “引用整数”
通过该引用,可以更改x
的值。
// Function that returns a reference to x.
int& f(){
return x;
}
int main(){
f() = 10; // Get a reference to X, and assign that variable the value 10
cout << x;
}