用于交替for循环的c ++通用解决方案

时间:2013-10-11 08:26:59

标签: c++ for-loop

我想要为for-loop的每一次运行完成一些事情。没有使用大量的线条,有没有一种很好的方法呢?

虽然我们在这里,但我更喜欢通用的“技巧”,所以每隔三次或第四次做一些事情也是可能的吗?

示例:

for( int i = 0; i < 10; i++ )
{
   do something;

   if( i == odd number )
   {
      do something every alternating time;
   }
}

希望你能提供帮助。 欢呼声。

2 个答案:

答案 0 :(得分:4)

每隔第n次做一次事情:

if (i % n == 0) …

请注意,这将在第一次,第n + 1次,第2次+第1次等迭代中触发。如果你想在第n,第2n等触发,请执行以下操作:

if (i % n == n - 1) …

答案 1 :(得分:2)

if (i % 2)
对于奇数i

为true,否则为false。如果您愿意,可以明确地与1进行比较:

if (i % 2 == 1)

n次事情是类似的。例如,每4次,从1

开始
if (i % 4 == 1)