C++ 中 #define 和 const 關鍵字的區別是什麼?
#define 指令是一個預處理器指令;預處理器用宏替換那些宏,即使編譯器還沒看到它。可以把它想象成對原始碼進行自動搜尋和替換。
const 變數宣告在語言中聲明瞭一個實際的變數,您可以像使用真正的變數一樣使用它:獲取其地址、傳遞它、轉換它等。
如果沒有編譯器最佳化,在不同的情況下,這兩種使用方法都會產生記憶體分配的隱藏成本。但是,經過適當的最佳化後,它們幾乎是一樣的。此外,預處理器宏沒有任何作用域,而 const 值則有。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP