假设我有一段这样的代码:
int foo(int a, int b, int c)
{
int tmp1, tmp2, tmp3;
...
some_calculation0(&tmp1, a, b); // stores the result in tmp1
some_calculation1(&tmp2, b, c);
some_calculation2(&tmp3, tmp1, tmp2);
return tmp3;
}
最近我会这样写:
int foo(int a, int b, int c)
{
int tmp[3];
...
some_calculation0(&tmp[0], a, b); // stores the result in tmp[0]
some_calculation1(&tmp[1], b, c);
some_calculation2(&tmp[2], tmp[0], tmp[1]);
return tmp[2];
}
有什么理由不做这样的事情吗?有人会认为这是不好的做法吗?
在这种情况下,这些tmp
值实际上是计算字符串中的中间值,因为所有函数都在通过引用传递的输入变量之一中返回它们的结果。对我来说,将它们组合在一起是有意义的,但鉴于迄今为止的反应一直反对它,我不反对使用单独的变量。