std :: function的性能開銷是多少?我在論壇上聽到使用std::function<>原因性能下降。這是真的嗎?如果是真的,這是一個很大的性能下降?
3 回答

慕后森
TA貢獻1802條經驗 獲得超5個贊
您可以從boost的參考資料中找到信息:通過boost :: function調用會產生多少開銷?和表現
這并不能確定“是或否”來提升功能。考慮到程序的要求,性能下降可能是可以接受的。通常,程序的某些部分對性能不重要。即使這樣,也可以接受。這只是您可以確定的內容。
對于標準庫版本,標準僅定義了一個接口。完全由個人實現來使其工作。我想將使用類似于boost函數的實現。

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
如果您在不綁定任何參數(不分配堆空間)的情況下傳遞函數,這將強烈依賴。
還取決于其他因素,但這是主要因素。
確實,你需要比較一些東西,你不能簡單地說它“減少了開銷”,而不是完全不使用它,你需要將它與使用另一種傳遞函數的方法進行比較。如果您可以完全免除使用它,那么從一開始就不需要它
- 3 回答
- 0 關注
- 1116 瀏覽
添加回答
舉報
0/150
提交
取消