const char*, char const*, char*const的區別

事實上這個概念誰都有隻是三種聲明方式很是類似:

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

相關文章
相關標籤/搜索