C++ 中,#define 和 const 關鍵字有什麼差別?


#define 指令是預處理指令;即預處理程式在編譯程式看到它之前,用宏體的各個部分替換這些宏。

const 變數宣告在語言中聲明瞭一個真正的變數,可將其當作一個真實的變數使用:獲取其地址、四處傳遞、強制轉換為其他型別、轉換等。

如果沒有編譯程式最佳化,在不同的情況下,宏定義和 const 變數都對應著記憶體分配的隱含成本。但是,使用適當的最佳化措施後,它們幾乎是一樣的。此外,預處理程式宏沒有任何作用域,而 const 值是有作用域的。

更新時間:2019 年 7 月 30 日

293 次檢視

開啟你的 職業之路

完成課程即可獲得認證

立即開始
廣告