最近,我讀的範圍-V3在這裏提交評論: https://github.com/ericniebler/range-v3/commit/a4829172c0d6c43687ba213c54f430202efd7497static_cast <T&&>(t)快於std :: forward <T>(t)用於編譯?
的提交消息稱,
::向前編譯時間略微提高通過更換STD與 的static_cast
我知道std::forward<T>(t)
按標準返回static_cast<T&&>(t)
。 另外我知道有時static_cast<T&&>(t)
將工作正常時T &&t
是通用引用(或轉發引用)通過引用崩潰規則。
我感興趣的是提交消息說static_cast
提高了編譯性能。如果std::forward<T>(t)
剛剛返回static_cast<T&&>(t)
,那麼編譯性能會有什麼不同?
也許std::forward<T>(t)
需要某種扣除?或者,std::forward<T>(t)
做一些神奇的事情,它會調節編譯器?