【发布时间】:2021-08-21 06:22:36
【问题描述】:
我正在学习 C++ 中的引用变量。
#include<iostream>
using namespace std;
int &fun()
{
static int z = 10;
return z;
}
int main()
{
int x = fun();
cout<<fun()<<endl;
x = 30;
cout<<fun();
return 0;
}
为什么这段代码给出 10 10 而不是 10 和 30。
【问题讨论】:
-
解释为什么你期望 30 作为第二个输出?
-
x不是参考吗? -
@Jabberwocky 由于函数返回引用,我们将其更改为 30。所以 z 应该是 30。
-
@Alan Birtles 为什么?
-
您尚未将其声明为参考
标签: c++ reference pass-by-reference