通过const引用获取字符串

use*_*051 5 c++ c++11

std::string f(){
   return "xx";
}

int main(){

const std::string& ref = f();
// use ref
}
Run Code Online (Sandbox Code Playgroud)

f按值返回临时字符串.main通过const引用"捕获"它.在C++中可以吗?

son*_*yao 1

没事。Temporary可以绑定到 const 或右值引用的左值引用,并且其生命周期将延长到引用的生命周期。

每当引用绑定到临时对象或其子对象时,临时对象的生命周期就会延长以匹配引用的生命周期