宏的命名規范:一般以項目前綴開頭,key結尾。
#開頭表編譯。
宏的用法:1、定義常用字符串。
2、定義一段代碼。
const與宏的區別:1、編譯時刻:宏-預編譯 const-command+b(編譯階段)編譯。
2、宏不會檢查代碼錯誤,只是替換,但是const會編譯報錯。
3、宏的好處:定義代碼或字符串、方法、參數 const不能。 壞處:使用大量宏,容易造成編譯時間久,每次都需要重新替換。
const作用:限制類型
- 1.const僅僅用來修飾右邊的變量(基本數據變量p,指針變量*p)
- 2.被const修飾的變量是只讀的。
注意:很多Blog都說使用宏,會消耗很多內存,我這驗證並不會生成很多內存,宏定義的是常量,常量都放在常量區,只會生成一份內存。
const的用法: 1、int *const p ; p為只讀,*p為變量。
2、const int *p ; *p為只讀,p為變量。
3、int const * const p ;*p、p都為只讀。
4、const int * const p ;*p、p都為只讀。
三、const開發中使用場景:
- 1.需求1:提供一個方法,這個方法的參數是地址,里面只能通過地址讀取值,不能通過地址修改值
- 2.需求2:提供一個方法,這個方法的參數是地址,里面不能修改參數的地址。
const在開發中使用的場景:1、定義全局只讀參數,代替宏,減低編譯速度。
2、方法中定義只讀參數,不允許更改。