1

オリジナルコード

while(i<30){
// do something
i++;
}

while ループ展開

while(i<15){
// do something twice
i+=2;
}

上記のように展開できません。いつもhttp://en.wikipedia.org/wiki/Loop_unrollingのようにする必要がありますか?

4

1 に答える 1

2

一般的に、答えはノーです。30 は偶数であるため、30 と 15 では機能しますが、奇数では簡単には機能しません。「ダフの装置」は、一般的なケースに対処するために発明されました。しかし、それはかなり醜いです。

于 2011-12-26T13:52:33.133 に答える