C ++ For命令中Delphi中预递增(++ i)的等效项是什么?

时间:2019-04-19 22:16:14

标签: for-loop delphi pre-increment

在Delphi中,这种c ++正弦函数相当于什么?

  

请确保 i 变量之前已递增。

for(int i = 0; i < 20; ++i)

谢谢。

编辑:

就我而言,这就是 ++ i 与上面的sintaxe一起使用的方式:

void testStruct *testMethod()
{
   for(int i = 0; i < 20; ++i)
   {
      if(values[i].id == (DWORD) 10)
          return &values[i];
   }

   return NULL;
}

1 个答案:

答案 0 :(得分:5)

for(int i = 0; i < 20; ++i)

此处的前增量与后增量无关。从语义上讲,这与

相同
for(int i = 0; i < 20; i++)

在Delphi中,这将是

for i := 0 to 19 do

在使用变量值的表达式中,预递增很重要。例如

x[++i] = 42;

不同
x[i++] = 42;

因为++i的值与i++的值不同。但是,在您的C ++ for循环中,pre-increment运算符仅用于递增循环变量,而未使用表达式的值。

只需澄清一下,如果i0,则++i == 1i++ == 0。但是在C ++循环中,不使用增量表达式的值,而它的唯一一点就是增量的副作用。