函数可以返回左值,不能返回局部对象的引用
//函数定义 char &get_val(string &str,string::size_type ix) { return str[ix]; } //函数调用 main() { string s("123456"); cout<<s<<endl; get_val(s,0)='a'; cout<<s<<endl; }
上面程序返回一个左值
千万不要返回局部对象的引用,可以返回局部对象的非引用,因为引用是局部变量的本身,本身已经在函数结束的时候死亡;而非引用是局部变量的副本,
const string &mainip(const string &s) { string ret=s; return ret; }

浙公网安备 33010602011771号