假設我有這樣一段代碼:在陣列中存儲的臨時值與多個變量
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
值實際上是一串計算中的中間值,因爲所有函數都將其結果返回到通過引用傳遞的其中一個輸入變量中。對我來說,將它們組合在一起是有道理的,但是鑑於迄今爲止的迴應反對它,我沒有任何反對使用單獨的變量。
你爲什麼要這樣做? – ouah