const int MAX = 128;
寫法:const 在*前
做用:指針不能修改所指向的內容,可是能夠改變指向指針
int a = 0; int b = 0; const int * i = &a; int const * j = &b; // 不要這樣寫,雖然能運算 *i = 1; // 錯誤 *j = 1; // 錯誤 i = &b; // 正確 j = &a; // 正確
寫法:const 在*後
做用:指針能夠修改所指向的內容,可是不能改變指向code
int a = 0; int b = 0; int * const i = &a; *i = 1; // 正確 i = &b; // 錯誤
寫法:前,後,各加一個const
做用:指針不能修改指向的內容,也不能改變指向引用
int a = 0; int b = 0; const int * const p = &a; *p = 1; p = &b;
能夠改變值,也能夠改變指向
有的地方說,引用是不能改變指向的,但個人電腦能夠...緣由不詳...co
int a = 0; int b = 0; int & r = a; r = 1; // 正確 r = b; // 正確
寫法:const 在&前
做用:引用不能修改值,也不能改變引用錯誤
int a = 0; int b = 0; const int & i = a; int const & j = b; // 不要這樣寫,雖然能運行 i = 1; // 錯誤 j = 1; // 錯誤 i = b; // 錯誤 j = a; // 錯誤
錯誤,錯誤,錯誤,這種寫法不存在const