我們在 C++ 中使用 volatile 限定符的原因是什麼?


volatile 有兩個含義 −

  • 變數的值可能會在您的程式碼之外發生更改。因此,無論編譯器何時讀取變數的值時,它都不能假設該值與上次讀取的值相同,或與上次儲存的值相同,但必須重新讀取。

  • 將值儲存到 volatile 變數的動作是一個“副作用”,它可以從外部觀察到,因此編譯器不被允許移除儲存值的動作;例如,如果有兩個值按順序儲存,那麼編譯器必須實際上兩次儲存該值。

舉例來說

i = 2;
i = i;

編譯器必須儲存數字 2,讀取變數 I,儲存它已讀入 i 的變數。

您可以在此處找到有關 volatile 關鍵字的更多詳細資訊:www.geeksforgeeks.org/understanding-volatile-qualifier-in-c/

更新日期:30-07-2019

391 次瀏覽

開啟您 職業生涯

獲得認證透過完成課程

入門
廣告
© . All rights reserved.