这是合乎逻辑的,在堆栈上创建对象...对象的副本被返回,原始被删除
Box operator +(const Box& box) const
{
Box b = Box(this->num + box.num);
return b;
} // destructor called!
为什么在这种情况下过程不同?
Box operator +(const Box& box) const
{
return Box(this->num + box.num);
} // destructor not called!
为什么在第二种运算符重载方法中没有调用析构函数?