根据我的理解,函数 fun 的调用与 i 的参数同义,所以为什么 i 反映了该值在有趣中分配给它?
int & fun(int &i)
{
i=999;
return i;
}
int main()
{
int i=90;
cout<<fun(i)<<endl<<i<<endl;
return 0;
}
输出是:
999
90
答案 0 :(得分:-1)
嗯,根据this,它是未定义的行为。 “如果相对于使用相同标量对象的值的值计算,标量对象的副作用未被排序,则行为未定义。”我认为i=999
在这种情况下是“副作用”的含义。