揭秘C 語言中的'register' 關鍵字
在C 語言中,程式設計師會遇到兩個相似的程式碼片段,乍看之下似乎很難區分:
int x = 7;
和
register int x = 7;
這兩行程式碼之間的細微差別是什麼?
答案就在「register」關鍵字。在 C 中,「register」是一個可選關鍵字,用作編譯器的建議。這意味著變數“x”應該儲存在處理器暫存器中,這比從記憶體存取它要快得多。
要注意的是,編譯器對是否遵守這一點有最終決定權建議。有多種因素可能會影響其選擇,例如處理器暫存器的可用性、變數的大小以及編譯器的最佳化等級。
根據C 專家Herb Sutter 的說法,「寄存器說明符與自動說明符具有相同的語義...」這意味著編譯器根據優化標準自動決定儲存變數的位置,包括處理器暫存器或內存。
因此,中的 'register' 關鍵字C 是一個可能會優化程式碼效能的提示,但它並不能保證這一點。編譯器保持控制權並對變數儲存做出最終決定。
以上是了解 C 中「register」關鍵字的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!