事實上這個概念誰都有隻是三種聲明方式很是類似:
Bjarne在他的The C++ Programming Language裏面給出過一個助記的方法:
把一個聲明從右向左讀。
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; 同上由於C++裏面沒有const*的運算符,因此const只能屬於前面的類型。
C++標準規定,const關鍵字放在類型或變量名以前等價的。
const int n=5; //same as below
int const m=10
結論:
char * const cp : 定義一個指向字符的指針常數,即const指針
const char* p : 定義一個指向字符常數的指針
char const* p : 等同於const char* pspa