const和static const還有static區別

對於C/C++語言來講,
const就是隻讀的意思,只在聲明中使用;
static一般有2個作用,規定作用域和存儲方式.對於局部變量,static規定其爲靜態存儲方式,每次調用的初始值爲上一次調用的值,調用結束後存儲空間不釋放;
對於全局變量,如果以文件劃分作用域的話,此變量只在當前文件可見;對於static函數也是在當前模塊內函數可見.
static const 應該就是上面兩者的合集.
下面分別說明:
全局:
const,只讀的全局變量,其值不可修改.
static,規定此全局變量只在當前模塊(文件)中可見.
static const,既是隻讀的,又是隻在當前模塊中可見的.
文件:
文件指針可當作一個變量來看,與上面所說類似.
函數:
const,返回只讀變量的函數.
static,規定此函數只在當前模塊可見.
類:
const,一般不修飾類,(在VC6.0中試了一下,修飾類沒啥作用)

static,C++中似乎沒有靜態類這個說法,一般還是拿類當特殊的變量來看.C#中有靜態類的詳細說明,且用法與普通類大不相同.

static作用:
1限制範圍(函數,變量只能在本文件中使用)
2設定變量存儲區域(靜態存儲區域)
const作用:
聲明常量,它不能被修改,它存放在常量區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章