CyberChu 2022-09-28 18:16 采纳率: 0%
浏览 29

c++ 引用 谁能解释一下这段代码啊?

int n = 0;
int & f(int m)
{
n += m;
cout << n <<endl;
return n;
}
int main(void)
{
int a = f(10) + 20;
f(10) = a;//结果:30 虽然f函数也用了2次但是这种写法相当于 n = 30;
f(10) = f(10) + 20;//结果:40 等价于n = n+20, 因为f函数使用了两次,第二次改变了n的值 所以结果是40
f(10) += 20;//结果:30 等价于n = 10 + 20;+=符号f函数只使用了一次+=相当于 n = f(10)的值 +20所以结果是30

return 0;
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-28 19:07
    关注
    评论

报告相同问题?

问题事件

  • 修改了问题 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥20 c#使用NPOI向word表格中添加字段导致word有概率警告不可识别
  • ¥15 怎么使用hxe16进制编码器修改视频数据和图片一样!求教程!
  • ¥15 怎么用python模拟光的折射,反射,和全反射
  • ¥15 python打印机打印word和PDF文件出来的是乱码
  • ¥15 求达梦8数据库安装包
  • ¥15 YOLOv8模型网络结构更改后报错
  • ¥15 深度学习中梯度为None
  • ¥15 zynq烧写程序到flash后不运行
  • ¥15 裸板ESD问题的思考与实验
  • ¥15 electron+python