亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么與普通函數相比,編譯器可以更好地優化lambda?

為什么與普通函數相比,編譯器可以更好地優化lambda?

C++
阿波羅的戰車 2019-10-15 11:06:52
The C++ Standard Library (Second Edition)Nicolai Josuttis 在他的書中指出,與普通函數相比,編譯器可以更好地優化lambda。另外,C ++編譯器比常規函數更好地優化了lambda。(第213頁)這是為什么?我認為在進行內聯時應該不再有任何區別。我能想到的唯一原因是,編譯器可能具有更好的lambda本地上下文,這樣可以做出更多的假設并執行更多的優化。
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

因為當您將“函數”傳遞給算法時,實際上是在傳遞函數的指針,因此它必須通過指向函數的指針進行間接調用。使用lambda時,會將對象傳遞到專門針對該類型實例化的模板實例,并且對lambda函數的調用是直接調用,而不是通過函數指針的調用,因此很有可能是內聯的。


查看完整回答
反對 回復 2019-10-15
  • 2 回答
  • 0 關注
  • 503 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號