- 557 名前:y mailto:sage [2008/07/23(水) 17:10:26 ]
- >>552
なるほど、納得です。>>549の説明も意味が分かりました。 ・再帰のコードは、普通のループ構造で表現できる。 ・再帰のコードをいったん末尾再帰の形に直しておけば、ループ構造に直すのが容易。 ・末尾再帰のコードは、『残りの操作』(戻り値を使った演算)が必要ないため、理屈としては呼出元の変数の状態を保存しておく必要がない。 ・言語によっては(あるいは賢いコンパイラは)この性質を利用して、末尾再帰のコードを、同一関数のくり返しの形(ループ構造)に最適化してくれる。 だから呼び出しのたびにスタックリソースの消費が増加することがない。 ・でもVBAではそういう最適化はしてくれないから、最初から自分でループ構造に直して書く。 ありがとうございました。 >>554 >>555
|

|