const物件的位置問題

2021-06-22 05:45:51 字數 432 閱讀 5528

const修飾引數,引數不可修改

const修飾函式返回值,函式返回值不可修改

const修飾函式體時,函式體內不可修飾物件的任意成員,並且在函式體內不可呼叫非const成員函式,會有語法錯誤

const修飾物件時,物件不可呼叫修改自己的成員函式,並且只可以呼叫帶const的成員函式

不管char * 前後是否帶const,他定義的指標賦值後,都不可以利用該指標修改該字串!

const char * p = "dddd";

//p[0] = '1';  //錯誤

p = "ddds"; //正確,因為p變成儲存"ddds"字串的首位址了,並非是改變了其指向內容的值

coutq[0] = '1'; //錯誤

coutw[0] ='1'; //錯誤

注意:非const物件可以呼叫帶const的成員函式

const位置的含義

int num 1024 const int num2 num1 只能第一次賦值 num2 2048 報錯 const int p const 在 前面時,指標的位置可以修改,但不能通過指標修改指向的變數 int const p 同上 int const p const 在 後面時,指標的位置不可以...

const的位置與區別

乙個比較經典的問題 問以下兩種宣告的區別 1 const char p 2 char const p 這裡的 const 關鍵字是用於修飾常量,書上說 const 將修飾離它最近的物件,所以,以上兩種宣告的意思分別應該是 1 p 是乙個指向常量字元的指標,不變的是 char 的值,即該字元的值在定義...

const的位置與區別

乙個比較經典的問題 問以下兩種宣告的區別 1 const char p 2 char const p 這裡的 const 關鍵字是用於修飾常量,書上說 const 將修飾離它最近的物件,所以,以上兩種宣告的意思分別應該是 1 p 是乙個指向常量字元的指標,不變的是 char 的值,即該字元的值在定義...