什么是有效的寄存器变量类型

时间:2017-01-30 16:43:45

标签: c++ cpu-registers

我想知道使用register关键字进行快速访问的变量类型。例如,我可以

tableB

我还想知道我可以在程序中声明多少个寄存器变量。

2 个答案:

答案 0 :(得分:5)

The register keyword在C ++ 11中已被弃用,并且因为在C ++ 17中未使用和保留

你不应该使用它如果它对现代编译器有任何重要意义,我也会感到惊讶。

答案 1 :(得分:1)

注意:不推荐使用register关键字直到C ++ 17,自C ++ 17以来未使用和保留。

一般性谈话

寄存器存储说明符最初仅适用于int,char或指针类型的变量。但是,它适用于任何类型的变量。实际上,寄存器仅对整数和字符变量有显着影响。还要记住,寄存器说明符适用于函数的局部变量和形式参数(不允许使用全局寄存器变量)。

实际上,您不必担心声明许多寄存器变量。如果寄存器变量太多,编译器会自动将它们转换为非寄存器变量(如果达到限制)。至少有两个int或char类型的寄存器变量实际上可以保存在CPU寄存器中。