gpt4 book ai didi

C++ 运算符重载返回

转载 作者:搜寻专家 更新时间:2023-10-31 00:08:33 25 4
gpt4 key购买 nike

在这段代码中:

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

如果在该函数退出时从堆栈中“删除”对象,它如何返回一个 RationalNum 对象?

最佳答案

这是因为返回值在局部变量被销毁之前被复制(如果需要的话)。销毁返回的对象是调用函数的职责。

返回的对象是在 return 语句的位置构造的,但是局部变量的破坏一直保留到 block 的末尾(在 return 之后)。

关于C++ 运算符重载返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48510436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com