C++操作员超载返回



在这段代码中:

RationalNum operator+(const RationalNum& left, const RationalNum& right) {
    RationalNum temp;
    /*code here*/
    return temp;
}

如果该对象在此函数退出时从堆栈中"删除",它如何返回该对象?

这是因为在销毁局部变量之前复制了返回值(如有必要(。销毁返回的对象是调用函数的职责。

返回的对象是在 return 语句的点构造的,但局部变量的销毁留到块的末尾(在返回之后(。

最新更新