临时对象问题
比如我重载了+运算符,然后返回integer对象
return integer (left.i + right.i) ;
书上说:"这样情况时,编译器明白对创建的对象没有其他需求,只是返回它,所以编译器直接地把这个对象创建在返回值外面的内存单元。因为不是真正创建一个局部对象,所以仅需要单个的普通构造函数调用(不需要拷贝构造函数),并且不会调用析构函数。因此,这种方法不需要什么花费,效率是非常高的。
我的问题是:1.里面说指的外面的内存单元指的是什么?
2.既然调用了普通的构造函数,为什么退出作用域时不会调用析构函数?