gpt4 book ai didi

c++ - 在变量返回之前存储值

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:53 25 4
gpt4 key购买 nike

这是一段代码:

bool EqualsA(const Foo& a, const Foo& b)
{
return a == b;
}

bool EqualsB(const Foo& a, const Foo& b)
{
const bool result = a == b;

return result;
}

int MethodA()
{
return GetValue() * GetOtherValue();
}

int MethodB()
{
const int result = GetValue() * GetOtherValue();

return result;
}

我想知道这两种不同方式的返回值是否有区别(即时返回或将结果存储在变量中)。我认为存储更适合调试,但是否存在任何性能损失(我认为没有)或使用其中之一的任何其他优缺点。

最佳答案

编译器可以自由地优化掉局部变量,所以性能是一样的。

在很多代码分析工具中,这被标记为代码味道,我倾向于同意。 Debuggers can be made to see the return value on the stack所以局部变量不买任何东西。

关于c++ - 在变量返回之前存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15078153/

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