const與宏區(qū)別:
1. 編譯時刻: const:編譯 宏:預編譯,打開項目時,自動讀條
2. 編譯檢測: const:會做編譯檢測 宏:不會做編譯檢測
3. 宏的好處: 替代方法或者函數(shù)
4. 宏的壞處: 項目中大量使用宏,會造成預編譯時間過長.
PS:很多blog提到宏會消耗大量內(nèi)存秕硝,這種說法是錯誤的:
驗證:把宏賦值給不同的字符串對象,對象的內(nèi)存地址是一樣的
const作用:
1. 修飾右邊變量(基本變量,指針變量)
2. 被const修飾的變量只讀
const在開發(fā)中使用場景
1.定義一些全局字符串只讀變量(常量),代替宏
2.限制方法中參數(shù)只讀
static:
1.修飾局部變量:延遲局部變量生命周期,保證整個項目都在,只會分配一次內(nèi)存,程序一運行,就會給static修飾變量分配內(nèi)存
2.修飾全局變量:限制全局變量作用域,只能在當前文件中訪問.
extern:
聲明外部變量,注意:不能用來定義變量