1、const 文法雖然變化多端,但并不莫測高深。
如果關鍵字const出現在星号左邊,表示被指物是常量;如果出現在星号右邊,表示指針自身是常量;如果出現在星号兩邊,表示被指物和指針兩者都是常量。
2、還有一種說法是const在誰左邊(最靠近),誰就是常量。
eg:
char greeting[] = "hello";
char *p = greeting; //non-const pointer,non-const data
const char * p = greeting; //non-const pointer,const data
char * const p = greeting; //const pointer,non-const data
const char * const p = greeting; //const pointer,const data
3、STL例子
const std::vector<int>::interator iter = vec.begin();//作用像T *const, ++iter 錯誤:iter是const
std::vector<int>::const_iterator cIter = vec.begin();//作用像const T*,*cIter = 10 錯誤:*cIter是