我不明白为什么当我的方法返回一个对象时,该对象将被销毁。
在此处发布类结构和方法。
class Var
{
public:
Var operator += (const Var& var);
private:
Var _operation(Var* var, VAR_OPERATOR op);
}
方法 :
Var Var::operator += (const Var& var)
{
Var tmp = this->_operation((Var *)&var,VAR_ADD);
return tmp; // here the tmp variable is void
}
Var Var::_operation(Var* var, VAR_OPERATOR op)
{
Var tmp;
// operations
// here the tmp variable has value
return tmp;
}
有谁知道为什么?