1. 程式人生 > >一段小程式碼秒懂C++右值引用和RVO(返回值優化)的誤區

一段小程式碼秒懂C++右值引用和RVO(返回值優化)的誤區

關於C++右值引用的[參考文件](https://en.cppreference.com/w/cpp/language/reference)裡面有明確提到,右值引用可以延長臨時變數的週期。如: ```C std::string&& r3 = s1 + s1; // okay: rvalue reference extends lifetime ``` 看到這裡的時候,Binfun有點崩潰,就這就能延長生命週期?這個和以下的這樣的命令有啥本質的區別嗎? ```C std::string r3 = s1 + s1 ``` 所以Binfun寫了一段小程式碼來測試一下右值引用的延長生命週期的特性,如: ```C #