两段程序
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在函数结束时就被释放,所以编译器会报错。