新手學習C++時候,發現有些書寫
int* p=0;
有些書寫:
int *p=0;
這兩個有區別嗎?區別在哪裡?為什麼會有兩種寫法?
還有下面的兩種有區別嗎?區別在哪裡?
int* const p=0;
int const *p=0;
第一個問題,這是定義一個int* p指針變量,(int p)<--->(int p) 這兩種是等價,編譯器會處理中間的空白符問題。
第二個問題,int *const p = 0 //這種是修飾指針變量p,指定p的類型為const,也就是p本身存儲的值不能改變。即對象的地址。int const *p 這個相當於const int *p 表示p指向一個const類型的變量。即p指向的const int類型的變量的值不能改變。