我相信(根据一些研究阅读),for 循环中的倒计时实际上在运行时更高效、更快。我的完整软件代码是 C++
我目前有这个:
for (i=0; i<domain; ++i) {
我的“i”是未签名的寄存器int,
'domain' 也是 unsigned int
在 for 循环中, i 用于遍历数组,例如
array[i] = do stuff
将其转换为倒计时会扰乱我例程的预期/正确输出。
我可以想象答案是相当微不足道的,但我无法理解它。
更新:“做事”不依赖于之前或之后的迭代。 for 循环内的计算与 i 的迭代无关。 (我希望这是有道理的)。
更新:为了通过我的 for 循环实现运行时加速,我是否要倒计时,如果是的话,在 decaring 我的 int 时删除无符号部分,或者其他方法?
请帮忙。
使用无符号计数器向后循环只有一种正确的方法:
for( i = n; i-- > 0; )
{
// Use i as normal here
}
这里有一个技巧,对于最后一个循环迭代,循环顶部将有 i = 1,i--> 0 会通过,因为 1 > 0,然后循环体中的 i = 0。在下一次迭代中,i--> 0 失败,因为 i == 0,因此后缀减量在计数器上滚动并不重要。
我知道非常不明显。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)