2
這是std::forward
如何STD向前走右值參數綁定到lvaue PARAM參考
template< class T >
T&& forward(typename std::remove_reference<T>::type& t);
聲明請問這個純粹的右值的字符串"HelloWorld!"
結合t
在std::forward
左值的參考?
std::string&& rstr = std::forward<std::string>("HelloWorld!");
'std :: string && rstr = ...'明確地擴展了臨時的生命週期,直到'rstr'超出範圍。 –
@DanielSchepler它不!它必須*直接*綁定到臨時,在這裏不是這種情況。 – Quentin
@DanielSchepler不,它不。在此代碼中,rstr綁定到一個xvalue。只有當引用綁定到一個prvalue時,纔會發生生存期延長。 –