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,將內部鏈接定義爲外部鏈接。