1秕重、注意
數(shù)組和指針常量還是不能一概而論的彬犯。
2拐云、const char, char const, char*const的區(qū)別問題:
幾乎是C++面試中每次都會(huì)有的題目婿着。
事實(shí)上這個(gè)概念誰(shuí)都有,只是三種聲明方式非常相似很容易記混授瘦。
Bjarne在他的The C++ Programming Language里面給出過(guò)一個(gè)助記的方法:
把一個(gè)聲明從右向左讀。
char * const cp; //( * 讀成 pointer to )cp is a const pointer to char. 指針常量
const char * p;//p is a pointer to const char.常量指針
char const * p;
同上因?yàn)镃++里面沒有const*的運(yùn)算符竟宋,所以const只能屬于前面的類型提完。
由于C++標(biāo)準(zhǔn)規(guī)定,const關(guān)鍵字放在類型或變量名之前等價(jià)的丘侠。
我覺得是“常量指針”和“指針常量”這樣的翻譯比較難記憶而已氯葬。
本質(zhì)上是,1)“被指向的對(duì)象是常量”婉陷;2)“指針本身是常量”。
中間是關(guān)聯(lián)詞是--是官研,不是的秽澳。
我是這么理解的,*前面的是對(duì)被指向?qū)ο蟮男揎棧?后面的是對(duì)指針本身的修飾戏羽。