關(guān)于const的用法
int const a=3; int *p=&a;
這里的語(yǔ)法為什么是錯(cuò)誤的?這里的a是不能修改值的,但是后一句中,只是使p指向了a所在地址,這個(gè)怎么就錯(cuò)了呢,求問(wèn)詳細(xì)解答。謝謝
int const a=3; int *p=&a;
這里的語(yǔ)法為什么是錯(cuò)誤的?這里的a是不能修改值的,但是后一句中,只是使p指向了a所在地址,這個(gè)怎么就錯(cuò)了呢,求問(wèn)詳細(xì)解答。謝謝
2015-09-14
舉報(bào)
2015-09-14
你是可以通過(guò)指針來(lái)修改其所指的對(duì)象的。 所以如果允許p指向const int對(duì)象,就意味著你可以通過(guò)p來(lái)修改a,顯然這是不合理的。
故語(yǔ)法要求const對(duì)象只能被“指向const對(duì)象的指針”所指。
將p聲明為 const int *p; 就沒(méi)有問(wèn)題了,這個(gè)p是指向const對(duì)象的。