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 和 15,因为 30 是偶数,但它不适用于奇数。“达夫装置”是为了处理一般情况而发明的。不过,这很丑陋。

于 2011-12-26T13:52:33.133 回答