寄存器

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 的程序格式不正确。