所以有问题的代码是这样的:
const String String::operator+ (const String& rhs)
{
String tmp;
tmp.Set(this->mString);
tmp.Append(rhs.mString);
return tmp;
}
Run Code Online (Sandbox Code Playgroud)
这当然将String放在堆栈上,它被删除并返回垃圾.将它放在堆上会泄漏内存.那我该怎么做呢?