唔,既然int、float、double甚至我們自己定義的class都可以有對應(yīng)的常量類型,那么指針應(yīng)該也有常量才對,現(xiàn)在的問題是,我們應(yīng)該如何定義一個指針常量呢?我們通常定義常量的作法是在類型名稱前面加上const,像const int a等等,但假如在指針定義前面加const,由于*是右結(jié)合的,語義上計算機會把const int *p 視為 (const int) (*p)(括號是為了突出其結(jié)合形式所用,但不是合法的C++語法),即*p是一個const int型常量,p就為一個指向const int常量的指針。也就是說,我們所加的const并非修飾p,而是修飾*p,換成int const *p又如何呢?噢,這和const int *p沒有區(qū)別。為了讓我們的const能夠修飾到p,我們必須越過*號的阻撓將const送到p跟前,假如我們先在前面定義了一個int變量a,則語句