說到頂層const(top-level const)在c++ primer 第五版里面有介紹到
用名詞頂層const(top-level const)表示指針本身是個常量槽唾,而用底層const(low-level const)表示指針?biāo)傅膶ο笫且粋€常量
int *const p1 = &a //是一個頂層const庞萍,不能改變指針p1的值钝计,也就是說p1這一輩子都指向a
const int *p1 = &a //一個底層const私恬,所指的對象是一個常量
但是實際上定義這樣一個概念反倒讓人覺得迷惑本鸣,所以最好的辦法就是從右往左讀這個表達式
int *const p1
讀作p1是一個常量指針指向int類型
const int *p1
讀作p1是一個指針指向一個常量int類型