如何实现永远循环运行的循环算法?
for (int i = 0; ;i++){
roundRobinIndex = i % numberOfWorkers;
}
上面方法的问题是
integer overflow
问题。也可以通过检查i
的值来实现:for (int i = 0; ;i++){
roundRobinIndex = i % numberOfWorkers;
if i == maxNumber{
i = 0;
}
}
但是这种方式很难看。也许还有更优雅的方式?
最佳答案
为什么不 ?
int numberOfWorkers = 10
int roundRobinIndex = numberOfWorkers - 1
while(true){
roundRobinIndex = (roundRobinIndex + 1) % numberOfWorkers
}
或带有for循环
for (int i = 0; ;i = (i + 1) % numberOfWorkers){
roundRobinIndex = i;
}
现在我们可以摆脱
i
关于c++ - 循环循环算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51211661/