次のようなコードがあるとします。
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
すべての関数が参照によって渡された入力変数の1つで結果を返すため、値は一連の計算の実際の中間値です。私にはそれらをグループ化することは理にかなっていますが、これまでのところ応答がそれに反対していることを考えると、別々の変数を使用することに何の反対もありません。