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

int x=3;const int &y=x;此时的x和y还是等价的吗?

int x=3;const int &y=x;此时的x和y还是等价的吗?若是不等价,那么该语句的意义何在?谢谢!!!

正在回答

4 回答

不是等价的,因为x是一个变量,而y虽然是x的别名,但是他表示的是一个常量;

因此,可以改变x的值,而不能通过对y的赋值语句改变他们的值;

至于意义,我想可能是为了对操作权限进行限制吧,对x的操作权限比对y的要大。

3 回复 有任何疑惑可以回复我~
#1

慕粉3631940 提问者

非常感谢!
2016-08-01 回复 有任何疑惑可以回复我~

试了代码

输出的数值是相等的,只能通过x来改变y的值

0 回复 有任何疑惑可以回复我~

x为可赋值变量,y为x的别名,不能通过改变y改变x,改变x可改变y(大权限的可以改变小权限),在数值上最后应该是等价的吧,但是可能意义不相同吧


0 回复 有任何疑惑可以回复我~

是等价的......吧,嗯小权限y接大权限x是可以的(y是大叔x是地球人)

0 回复 有任何疑惑可以回复我~
#1

慕粉3631940 提问者

现在感觉不等价了!
2016-08-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

int x=3;const int &y=x;此时的x和y还是等价的吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信