C++ 中 volatile 關鍵字有什麼用?
這裡我們來了解一下 C++ 中 volatile 限定符的含義。我們宣告變數時即可應用 volatile 限定符。它用於告訴編譯器,該值可能會隨時更改。下面是 volatile 的一些特性。
- volatile 關鍵字不能刪除記憶體賦值。
- 它不能在暫存器中快取變數。
- 值不能按賦值順序更改。
讓我們看看如何使用 volatile 關鍵字。
volatile int a; int volatile a;
這兩個宣告是正確的。與其他資料型別一樣,我們可以使用 volatile 指標、結構、聯合等。volatile 結構和聯合本身可以是 volatile 的,它們的成員變數也可以是 volatile 型別。
volatile 用於不同的位置。對於記憶體對映的外圍暫存器、一些由其他函式或中斷服務例程訪問的全域性變數,或者在一些多執行緒應用程式中,可以使用 volatile。
示例
int main (){ int value; value++; } int main (){ volatile int value; value++; }
有兩塊程式碼。在第一塊程式碼中沒有 volatile 關鍵字。因此對於第一種情況,該變數將從記憶體複製到 CPU 暫存器,然後執行操作。在第二種情況下,有 volatile 關鍵字。因此,在這種情況下該變數不會從記憶體複製到暫存器。
廣告