c++引用小问题!

时间:2021-10-24 19:53:20

两段程序

string version(const string &s1,const string &s2)

{

string temp;

temp =s2+s1+s2;

return temp;

}

//  返回的是string 对象version,temp在运行此函数后就被释放,。temp创建一个无名对象,无名对象被返回给,version。

const string &version(const string &s1,const string &s2)

{

string temp;

temp =s2+s1+s2;

return temp;

}
//返回的是一个引用,但是temp在函数结束时就被释放,所以编译器会报错。