C++ 引用小问题

两段程序

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

posted @ 2015-12-01 12:43  MrPat  阅读(222)  评论(0编辑  收藏  举报