最近,我读的范围-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)
做一些神奇的事情,它会调节编译器?