=-=-=-=-=-=-=-=-=-=-=-=千万不要返回局部对象的引用-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
const string &manip(const string& s)
{
string ret = s;
return ret;//不能返回局部对象的引用关键理解:函数执行完毕时,将释放分配给局部对象的存储空间。此时,对局部对象的引用会指向不确定的内存
}
=-=-=-=-=-=-=-=-=-=-=-=引用返回左值-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
char &get_val(string &str,string::size_type ix)
{
return str[ix];//引用返回左值关键理解:可以给该函数返回值赋值,因为该引用是被返回元素的同义词
}