为了账号安全,请及时绑定邮箱和手机立即绑定

C++,关于引用重新赋值

C++,关于引用重新赋值

C++
月关宝盒 2018-07-29 09:09:23
书上说,引用不能重新赋值。可是我下面的代码可以正确运行#include "iostream"using namespace std;void main(){int y=5;int & x =y;x=7;cout<<x<<endl;}
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

不是不能赋值,而是不能修改引用的对象,比如这里x是y的引用,就一直是y的引用不会变化
对引用赋值就是对它引用的对象赋值,比如这里x=7和y=7是一个意思。

查看完整回答
反对 回复 2018-08-01
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

第一,你的程序没有错误是正确的,但是并不能说明:引用能重新赋值,很明显,引用时不嫩重新赋值的,只是你的理解有一点误解了!引用的赋值,是指引用初始化时,它的引用对象只能是变量,同时,一旦它指定了哪一个对象的引用后,就不能更改了,但是,可以用这个引用(它指定对象变量的变量)来改变他的对象的纸,从而,达到引用的目的:作为变量对象的别名作用,你的程序就是利用这点对引用对象改变值,x=7;所谓的引用的重新赋值,应该是:int x,y,z;int &x=y;; &x=z; ,这种是对引用类型 x ,改变了它的指定对象,一开始 y 的引用,之后,有重新说明是 z 的引用;这种引用的重新赋值是不允许的;

查看完整回答
反对 回复 2018-08-01
  • 2 回答
  • 0 关注
  • 1178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信