1. 程式人生 > >const的不同位置的用法

const的不同位置的用法

const int fun(const int var) const;

第一個const:函式的返回值是const。 第二個const:函式引數是const。傳遞過來的引數var在函式內不可以改變,一般我們的只讀引數需要使用const來加以保護; 第三個const:該函式是const。編譯器會對這個函式進行檢查,在這個函式中的任何試圖改變成員變數和呼叫非const成員函式的操作都被視為非法。 如:

int Stack::functiont(void)  const 
{ 
  ++ m_num; // 編譯錯誤,企圖修改資料成員 m_num 
  Pop();  // 編譯錯誤,企圖呼叫非const 函式 
  return m_num; 
 }