千万不要返回局部对象的引用
eg:
const string &ma(const string & a)
{
string ret=s;
return ret;
}
这个函数会在运行时出错,以为它返回了局部变量的引用,当函数执行完毕,字符串ret占用的存储空间将被释放,函数返回值指向了对于这个程序来说不再有效的内存空间。
同样,返回局部对象的指针也是错误的,一旦函数结束,局部对象被释放,返回的指针就变成了指向不再存在的对象的悬挂指针。
转载于:https://blog.51cto.com/colive/682680