在早期c語言編譯器不會對代碼進行優化,因此使用register關鍵字修飾變量是很好的補充,大大提高的速度。
register關鍵字請求讓編譯器將變量a直接放入寄存器里面,以提高讀取速度,在C語言中register關鍵字修飾的變量不可以被取地址,但是c++中進行了優化。
c++中依然支持register關鍵字,但是c++編譯器也有自己的優化方式,即某些變量不用register關鍵字進行修飾,編譯器也會將多次連續使用的變量優化放入寄存器中,例如入for循環的循環變量i。
c++中也可以對register修飾的變量取地址,不過c++編譯器發現程序中需要取register關鍵字修飾的變量的地址時,register關鍵字的聲明將變得無效。
