關鍵字 const

const的用法非常靈活,能夠大大增強程序的健壯性.

  1. 定義常量
const int c = 0;
  1. 保護變量不被更改
void f(const int i) { i=10;//error! }
      //如果在函數體內修改了i,編譯器就會報錯

上述代碼傳遞的是副本,更改影響并不大,const往往和引用一起使用,節(jié)省空間并增強健壯性

void f(const int &i){...}

i 的值為引用,并且不允許被更改.
也可以對返回值為引用的變量加上這個修飾,這樣這個引用就不能被更改

  const string& get_name() const 
  { 
    return name; 
  } 
  1. 全局調整參數,類似宏定義
  2. 類型安全檢查
void f(const int i) { .........}
      //對傳入的參數進行類型檢查,不匹配進行提示

宏定義僅僅對宏進行替換,沒有類型檢查,往往會導致意想不到的錯誤.

  1. 修飾成員函數
    const修飾的成員函數,不能改變這個類對象的值(指針訪問可以,但是并不推薦)
  • const對象只能訪問const成員函數,一般對象則都可以(包括const和其他共有函數)
  1. 節(jié)省空間
    當定義const的時候,僅僅給出了常量的內存地址,并沒有分配內存.
    在程序執(zhí)行過程中,僅僅進行一次內存的分配,即使這個值被引用多次.
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容