C++ 中 #define 和 const 關鍵字的區別是什麼?


#define 指令是一個預處理器指令;預處理器用宏替換那些宏,即使編譯器還沒看到它。可以把它想象成對原始碼進行自動搜尋和替換。

const 變數宣告在語言中聲明瞭一個實際的變數,您可以像使用真正的變數一樣使用它:獲取其地址、傳遞它、轉換它等。

如果沒有編譯器最佳化,在不同的情況下,這兩種使用方法都會產生記憶體分配的隱藏成本。但是,經過適當的最佳化後,它們幾乎是一樣的。此外,預處理器宏沒有任何作用域,而 const 值則有。

更新於: 30-Jul-2019

293 次瀏覽

開啟您的職業生涯

完成課程以獲取認證

開始
廣告
© . All rights reserved.