c++ forward 完美轉發
template<typename T>
void func(T&& t)
{
// 這里面的t始終是左引用
// (T&&)t 是萬能引用(forward的實現), 實參(注意不是形參T&& t)是左引用,則是左引用,實參是右引用,則是右應用
// (typename remove_reference<T>::type&&)t 則是右引用(move的實現)
}
template<typename T>
void func(T&& t)
{
// 這里面的t始終是左引用
// (T&&)t 是萬能引用(forward的實現), 實參(注意不是形參T&& t)是左引用,則是左引用,實參是右引用,則是右應用
// (typename remove_reference<T>::type&&)t 則是右引用(move的實現)
}