const和#define的用途和比較以及注意事項

const的用途:

    不規範的說法:const意味着“只讀”。

    1、可以定義const變量

    2、const可以修飾函數參數(輸入參數)、返回值、甚至函數的定義體。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程序的健壯性。

#define 宏定義:

    宏定義中不能有分號,還有要注意宏定義中括號的使用。

 

const和#define都可以定義常量,但是在C++中用const定義常量具有更多的有點:

    1、const常量有數據類型,而宏常量沒有數據類型。編譯器可以對前者進行類型安全檢查,而對後者只進行字符替換,沒有類型安全檢查,並且在字符替換中可能會產生意料不到的錯誤。

    2、有些集成的調試工具可以對const常量進行調試,但是不能對宏常量進行調試。在C++中用const常量完全取代了#define宏常量。

 

const定義的變量在C語言中是內部鏈接,在C++中是外部鏈接,所以,在C++中,要實現C的功能,可以這樣使用,extern const value,將內部鏈接定義爲外部鏈接。

 

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