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類型,以使得其返回值不為”左值”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM