为什么我可以使用这样的函数引用?

时间:2019-05-17 19:50:40

标签: c++

  

代码是这样的,我不知道结果怎么可能是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;  
}  

1 个答案:

答案 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;  
}