在C语言中,register关键字修饰变量,请求编译器让变量直接放在寄存器里面,速度快,但是被register修饰的变量不能取地址。
在C++语言中,我们看看对register做了哪些改动,C++中对register依然支持,但是C++编译器有自己的优化方式,不使用register也可能做优化,也可以取得register变量的地址,C++编译器发现程序中需要取register变量的地址,register此时对变量的声明变得无效。
早期C语言编译器不会对代码进行优化,因此register变量是一个很好的补充。
int main()
{
register int a = 0;
printf("&a = %x\n", &a);
system("pause");
return 0;
}