標題: [C++]筆記十:C++對C的擴展——register關鍵字增強 [打印本頁]

作者: tyyhmtyyhm    時間: 2018-3-5 19:46
標題: [C++]筆記十:C++對C的擴展——register關鍵字增強
C++對C的擴展——register關鍵字增強
register關鍵字請求編譯器讓變量直接放CPU內部寄存器里面,而不是通過內存尋址訪問,速度
C語言中,register修飾的變量不能取地址去寄存器變量的地址在C語言里面是會出錯的。
同樣的代碼我們放到C++編譯環(huán)境下,發(fā)現(xiàn)編譯是通過的!
C++中依然支持register關鍵字,C++編譯器有自己的優(yōu)化方式,不使用register也可能做優(yōu)化;并且C++中可以取得register變量的地址C++編譯器發(fā)現(xiàn)程序中需要取register變量的地址時,register對變量的聲明變的無效。早期C語言編譯器不會對代碼進行優(yōu)化,因此register變量是個很好的補充。
我們說一下C++編譯器的優(yōu)化方式
for循環(huán)這種頻繁使用i的地方,C++編譯器會做優(yōu)化,將變量i放到寄存器里面,加快程序的執(zhí)行速度。也就是C++即使不用關鍵字register也會優(yōu)化。
【C++】筆記系列均為原創(chuàng),轉載請注明轉自微號:Lightspeed-Tech  或  AutoCode
更多精彩資料,請關注!






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1