Static與Const的區別

static

  1. static局部變量 將一個變量聲明爲函數的局部變量,那麼這個局部變量在函數執行完成以後不會被釋放,而是繼續保留在內存中
  2. static 全局變量 表示一個變量在當前文件的全局內可訪問
  3. static 函數 表示一個函數只能在當前文件中被訪問
  4. static 類成員變量 表示這個成員爲全類所共有
  5. static 類成員函數 表示這個函數爲全類所共有,並且只能訪問靜態成員變量

const

  1. const 常量:定義時就初始化,之後不能更改。
  2. const 形參:func(const int a){};該形參在函數裏不能改變
  3. const修飾類成員函數:該函數對成員變量只能進行只讀操做

static關鍵字的做用:

(1)函數體內static變量的做用範圍爲該函數體,該變量的內存只被分配一次,所以其值在下次調用時仍維持上次的值;
(2)在模塊內的static全局變量和函數能夠被模塊內的函數訪問,但不能被模塊外其它函數訪問;
(3)在類中的static成員變量屬於整個類所擁有,對類的全部對象只有一份拷貝;
(4)在類中的static成員函數屬於整個類所擁有,這個函數不接收this指針,於是只能訪問類的static成員變量。 函數

const關鍵字的做用:

(1)阻止一個變量被改變
(2)聲明常量指針和指針常量
(3)const修飾形參,代表它是一個輸入參數,在函數內部不能改變其值;
(4)對於類的成員函數,若指定其爲const類型,則代表其是一個常函數,不能修改類的成員變量;
(5)對於類的成員函數,有時候必須指定其返回值爲const類型,以使得其返回值不爲」左值」。this

相關文章
相關標籤/搜索