C ++ post增量是在for循环体之前执行的吗?

时间:2013-08-24 16:20:28

标签: c++ visual-studio visual-studio-2008

我在这里疯了。我正在使用Visual Studio 2008,我不禁认为它有一个错误,或者我只是忘记了一些严重的基础知识。

似乎当我删除for循环的“初始化”(第一个字段)时,我的“后增量”(第三个字段)在循环体之前执行。

std::list<VideoTranscoderStats>::iterator videoStatsIter = mTranscoderStatisticsList.begin();
for(;videoStatsIter != mTranscoderStatisticsList.end();videoStatsIter++)
{
    // do stuff
}

在调试时,我可以看到我在“do stuff”之前执行“videoStatsIter ++”,并且在for循环中测试条件之前也是如此。

另一方面,如果我将videoStatsIter的初始化移动到for循环语句的开头,一切正常。 “videoStatsIter ++”在for循环体后执行。

0 个答案:

没有答案