回答
http://www.justsoftwaresolutions.co.uk/cplusplus/rvalue_references_and_perfect_forwarding.html
這是爲什麼有用嗎?那麼,這意味着函數模板可以通過使用std :: forward將參數傳遞給另一個函數,同時保留函數參數的左值/右值性質。這稱爲「完美轉發」,避免過度複製,避免模板作者爲左值和右值引用寫入多個重載。
報價Session Announcement: Adventures in Perfect Forwarding:
完善轉發之上構建 右值引用一個重要的C++ 0x的技術。它允許應用移動語義爲 ,即使移動的源和目標是由中間函數調用分隔的 。常見示例包括 構造函數和設置函數,它們將它們接收到的參數 轉發給它們正在初始化或設置的類的數據成員,如 以及標準庫函數(如make_shared),其中 將其參數「完美」轉發給類構造函數任何 對象將被創建的shared_ptr指向。
您在此答案中提供的鏈接不再存在... – TheCrafter
剛剛來到這裏。也許這節省了一些時間。 https://cppandbeyond.wordpress.com/2011/04/25/session-announcement-adventures-in-perfect-forwarding/ – rfx
- 1. 完美轉發
- 2. C++完美轉發
- 3. 完美轉發設置器上的'enable_if`約束是什麼?
- 4. Groovy:完美轉發
- 5. D完美轉發?
- 6. 完美轉發在C++ 03
- 7. 完美轉發仿函數
- 8. std ::轉發沒有完美轉發?
- 9. 爲什麼完美的轉發功能必須被模板化?
- 10. 完美轉發和模板
- 11. 爲什麼它不是一個完美的三角形C++?
- 12. 在lambda中完美轉發?
- 13. 不明白爲什麼完美轉發不工作
- 14. C++ 11:完美轉發的常量
- 15. 完美轉發和std ::元組
- 16. 的std ::綁定和完美轉發
- 17. 完美轉發對象的成員
- 18. 完美轉發不在C++中工作
- 19. 完美轉發的問題C++
- 20. 完美轉發到異步lambda
- 21. 完美轉發函數指針調用
- 22. 爲什麼JavaScript轉換它,它是什麼將它轉換爲?
- 23. 完美轉發和packaged_task包裝
- 24. Understading這個完美轉發例如
- 25. 完美轉發模板功能指針
- 26. 完美轉發 - 在彙編中
- 27. 完美轉發不拾取方法
- 28. Boost.python通用參考/完美轉發?
- 29. R值裁判和完美轉發
- 30. 什麼是Python的完美對口「而不是EOF」
你打我吧:) –
支付記住一個人的書籤文章。 ;) –
這是一篇很棒的文章,謝謝。 – 2014-12-14 19:45:26