暫存器

Version < C++ 17

儲存類說明符,它向編譯器提示將大量使用變數。 暫存器一詞與編譯器可能選擇將這樣的變數儲存在 CPU 暫存器中的事實有關,因此可以在更少的時鐘週期內訪問它。從 C++ 11 開始,它已被棄用。

register int i = 0;
while (i < 100) {
    f(i);
    int g = i*i;
    i += h(i, g);
}

區域性變數和函式引數都可以宣告為 register。與 C 不同,C++對 register 變數的作用沒有任何限制。例如,獲取 register 變數的地址是有效的,但這可能會阻止編譯器將這樣的變數實際儲存在暫存器中。

Version >= C++ 17

關鍵字 register 未使用且已保留。使用關鍵字 register 的程式格式不正確。