課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之離港篇
int x =5; int const &y = x;
x=10;?
y=?;
y不是已經(jīng)被const定義不許改變嗎?還是這段程序就是錯(cuò)誤的
2015-10-02
源自:C++遠(yuǎn)征之離港篇 3-1
正在回答
y被定義為const常量了,是不能改變的,y只能代表x,即x的別名。y=20就是說y也可以代表20,顯然與const相矛盾了
就因?yàn)檫@個(gè)y被定義為const常量了,所以后面對y的賦值操作就是錯(cuò)的呀。但是y仍然能夠跟著x的改變而改變,因?yàn)閷τ趛來講,它其實(shí)是指向了x的地址,不管x被賦為何值,x的地址總是不變的。
舉報(bào)
C++掃清通往面向?qū)ο蟮淖詈笠坏勒系K,將所有知識(shí)點(diǎn)融會(huì)貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-10-23
y被定義為const常量了,是不能改變的,y只能代表x,即x的別名。y=20就是說y也可以代表20,顯然與const相矛盾了
2015-10-02
就因?yàn)檫@個(gè)y被定義為const常量了,所以后面對y的賦值操作就是錯(cuò)的呀。但是y仍然能夠跟著x的改變而改變,因?yàn)閷τ趛來講,它其實(shí)是指向了x的地址,不管x被賦為何值,x的地址總是不變的。