【问题标题】:Difference between i++ and ++i in a for loop [duplicate]for循环中i ++和++ i之间的区别[重复]
【发布时间】:2011-01-24 08:53:47
【问题描述】:

可能的重复:
Incrementing in C++ - When to use x++ or ++x?

有什么区别

for (int i = 0; i < MAX; i++)
{
//...do something
}

for (int i = 0; i < MAX; ++i)
{
//...do something
}

?

【问题讨论】:

标签: c++ c for-loop


【解决方案1】:

什么都没有。增量是一个单独的语句,因此无论是预增量还是后增量都无关紧要。

【讨论】:

    【解决方案2】:

    只有当优化器不够聪明,以至于即使你指定了 i++ 也没有意识到它可以做 ++i 时,它才有意义。 (这在现代编译器中不太可能。)

    你可以认出真正的老程序员,因为他们总是使用 ++i,除非他们需要使用 i++,因为从前编译器就没有那么聪明了。

    【讨论】:

    • 与年龄无关,更多的是与 C++ 中重要的迭代器的接触有关。
    • 那我一定是个很老的程序员了,因为我喜欢写我的代码,所以结果是故意的,而不是偶然的。
    【解决方案3】:

    如果您关心复合语句中某个变量的值,则后自增运算符和前自增运算符很重要。独立的增量语句,就像 for 循环的第三个子句一样,不受您选择的 pre 或 post 的影响。

    int j = i++;int j = ++i; 非常不同。你想要i 的当前值还是想要i 的递增值?在 for 循环示例中,只要递增,您就不会在意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 2011-01-19
      • 2017-05-17
      相关资源
      最近更新 更多