我看的書里面,這部分講得最復(fù)雜了
后面是const函數(shù), 臨時變量,const指針,因為我是初學(xué)c++,有什么不對的地方,請大家指正
#define BUFSIZE 100
這種是早期c中的標(biāo)準(zhǔn)常量定義方式. 基于預(yù)處理方式實現(xiàn),他只做簡單的文本替代,沒有類型檢查的概念,也沒有類型檢查的功能
BUFSIZE在這里,只存在于預(yù)處理期間,大多數(shù)情況下,BUFSIZE 的工作方式與普通變量類似,而且沒有類型信息, 這樣會隱藏一些比較難發(fā)現(xiàn)的錯誤.所以 c++ 用const把值替代進(jìn)編譯器領(lǐng)域來消除這些問題. 則可以這樣寫 :
const int bufsize=100;
這樣就可以在編譯時,編譯器需要知道這個值的任何地方使用bufsize,同時編譯器還支持常量折疊,也就是說編譯時可以通過必要的計算把一個復(fù)雜的表達(dá)式通過縮減簡單化.
char buf[bufsize];
使用const時,預(yù)處理器會引入錯誤,所以我們應(yīng)該完全用const取代#define