我经常看到其他函数被多次调用的函数,而不是一次存储函数的结果。
即(1):
void ExampleFunction()
{
if (TestFunction() > x || TestFunction() < y || TestFunction() == z)
{
a = TestFunction();
return;
}
b = TestFunction();
}
相反,我会这样写,(2):
void ExampleFunction()
{
int test = TestFunction();
if (test > x || test < y || test == z)
{
a = test;
return;
}
b = test;
}
我认为版本 2 更易于阅读和调试。但我想知道为什么人们会像第一名那样做?有什么我看不到的吗?性能问题?当我查看它时,我在最坏的情况下看到数字 (1) 中的 4 个函数调用而不是数字 (2) 中的 1 个函数调用,所以数字 (1) 的性能应该更差,不是吗?