register关键字
register关键字是C++中的一个存储类,它可以用来声明一个局部变量,使得变量的存储位置改变,改变成存储在CPU的寄存器中,而不是存储在内存中。
用法
使用register关键字声明变量的语法形式如下:
register 数据类型 变量名;
其中,数据类型可以是char、int或者float,变量名就是变量的标识符。例如:
register int age;
register关键字只能用来声明局部变量,不能用来声明全局变量,也不能用来声明函数参数。
优点
- 因为register关键字声明的变量存储在CPU的寄存器中,可以提高变量的访问速度,提高程序的运行效率。
- register关键字声明的变量可以更快的被编译器优化,可以提高程序的执行效率。
缺点
- 由于CPU的寄存器的数量有限,可以使用register关键字声明的变量也是有限的,不能无限使用。
- register关键字声明的变量不能使用指针,因为指针是指向内存中的变量,而register关键字声明的变量是存储在CPU的寄存器中的,所以不能使用指针。
示例
#includeusing namespace std; int main() { int i = 0; register int j = 0; for (i=0;i<10;i++) { j++; } cout<<"i="< 上面的示例中,定义了两个变量,一个是普通变量i,一个是使用register关键字声明的变量j,在for循环中对两个变量进行了累加操作,输出了变量的值。
由于j是使用register关键字声明的变量,它的存储位置是在CPU的寄存器中,访问速度更快,最终的结果是j的值比i的值大10倍。