找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2261|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[C++]筆記十:C++對C的擴展——register關(guān)鍵字增強

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:244281 發(fā)表于 2018-3-5 19:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
C++對C的擴展——register關(guān)鍵字增強
register關(guān)鍵字請求編譯器讓變量直接放CPU內(nèi)部寄存器里面,而不是通過內(nèi)存尋址訪問,速度。
C語言中,register修飾的變量不能取地址,去寄存器變量的地址在C語言里面是會出錯的。
同樣的代碼我們放到C++編譯環(huán)境下,發(fā)現(xiàn)編譯是通過的!
C++中依然支持register關(guān)鍵字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++即使不用關(guān)鍵字register也會優(yōu)化。
【C++】筆記系列均為原創(chuàng),轉(zhuǎn)載請注明轉(zhuǎn)自微號:Lightspeed-Tech  或  AutoCode
更多精彩資料,請關(guān)注!

評分

參與人數(shù) 2黑幣 +15 收起 理由
白鶴859 + 10 很給力!
tyyhm + 5 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表