0

不确定使用哪种语法,速度是最大的问题。

插入一个元素后,我需要从 0-3 递增一个 int 变量,递增一。

它将用作占位符,比较结构中插入的元素,并将它们放在需要的位置。

我只需要占位符从 0-3 开始,然后当它从 3 增加 +1 时循环回到 0。

占位符变量可以存储在类的属性中,我没有太多的限制,我只想要一个简单的快速循环迭代器。

这不是一个家庭作业问题。

4

2 回答 2

1

您可以使用i = ++i & 3;, 或i = ++i % 4;

于 2013-11-04T03:22:47.030 回答
0

除非我遗漏了什么,否则只使用算术有什么问题?

int i = 0;

然后在每个插入:

i = i + 1;
if (i == 3) i = 0;

或者,没有分支:

i = (i + 1) % 4;

此外,就瓶颈而言,这种增量(无论是分支、模数还是其他)可能绝对是您最不担心的问题。实施、分析、找到实际瓶颈并在那里进行优化。

于 2013-11-04T03:17:32.267 回答