最近在使用MFC的時候遇到一些困惑,就是我定義的一些常量他的使用域到底是多大,最后為了這個問題專門做個個測試,查找了一些資料,算是對這個問題做了個還算詳細(xì)的介紹吧!
const就是只讀的意思,只在聲明中使用;
static一般有2個作用:規(guī)定作用域和存儲方式
對于局部變量,static規(guī)定其為靜態(tài)存儲方式,每次調(diào)用的初始值為上一次調(diào)用的值,調(diào)用結(jié)束后存儲空間不釋放;
對于全局變量,此變量只在當(dāng)前文件(把文件看作為作用域)可見;對于static函數(shù)也是在當(dāng)前模塊內(nèi)函數(shù)可見.
static const 應(yīng)該就是上面兩者的合集.
下面分別說明:
全局:
const,只讀的全局變量,其值不可修改.
static,規(guī)定此全局變量只在當(dāng)前模塊(文件)中可見.
static const,既是只讀的,又是只在當(dāng)前模塊中可見的.
文件:
文件指針可當(dāng)作一個變量來看,與上面所說類似.
函數(shù):
const,返回只讀變量的函數(shù).
static,規(guī)定此函數(shù)只在當(dāng)前模塊可見.