课程
/后端开发
/C++
/C++远征之离港篇
int x =5; int const &y = x;
x=10;
y=?;
y不是已经被const定义不许改变吗?还是这段程序就是错误的
2015-10-02
源自:C++远征之离港篇 3-1
正在回答
y被定义为const常量了,是不能改变的,y只能代表x,即x的别名。y=20就是说y也可以代表20,显然与const相矛盾了
就因为这个y被定义为const常量了,所以后面对y的赋值操作就是错的呀。但是y仍然能够跟着x的改变而改变,因为对于y来讲,它其实是指向了x的地址,不管x被赋为何值,x的地址总是不变的。
举报
C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通