register關鍵字作用是請求編譯器讓變量a直接放在寄存器裡面,運算速度更快
在c語言中 register修飾的變量 不能取位址,但是在c++裡面做了擴充
1、register關鍵字的變化:
C語言中無法取得register變量位址
在C++中依然支援register關鍵字
C++編譯器有自己的優化方式,不使用register也可能做優化
C++中可以取得register變量的位址
2、C++編譯器發現程式中需要取register變量的位址時,register對變量的聲明變得無效。
3、早期C語言編譯器不會對代碼進行優化,是以register變量是一個很好的補充。
//register關鍵字使用方法:
int main()
{
register int a = 0;
printf("&a = %x\n", &a);
system("pause");
return 0;
}