C/C++const用法

常量

const int MAX = 128;

指針

const int * p 或 int const * p

寫法:const 在*前
做用:指針不能修改所指向的內容,可是能夠改變指向指針

int a = 0;
int b = 0;
const int * i = &a;
int const * j = &b; // 不要這樣寫,雖然能運算
*i = 1; // 錯誤
*j = 1; // 錯誤
i = &b; // 正確
j = &a; // 正確

int * const p

寫法:const 在*後
做用:指針能夠修改所指向的內容,可是不能改變指向code

int a = 0;
int b = 0;
int * const i = &a;
*i = 1; // 正確
i = &b; // 錯誤

const int * const p 或 int const * const p

寫法:前,後,各加一個const
做用:指針不能修改指向的內容,也不能改變指向引用

int a = 0;
int b = 0;
const int * const p = &a;
*p = 1;
p = &b;

引用

int & r

能夠改變值,也能夠改變指向
有的地方說,引用是不能改變指向的,但個人電腦能夠...緣由不詳...co

int a = 0;
int b = 0;
int & r = a;
r = 1; // 正確
r = b; // 正確

const int & r 或 int const & r

寫法:const 在&前
做用:引用不能修改值,也不能改變引用錯誤

int a = 0;
int b = 0;
const int & i = a; 
int const & j = b; // 不要這樣寫,雖然能運行
i = 1; // 錯誤
j = 1; // 錯誤
i = b; // 錯誤
j = a; // 錯誤

int & const r

錯誤,錯誤,錯誤,這種寫法不存在const

相關文章
相關標籤/搜索