++i在 C 中,使用andi++和应该在for循环的增量块中使用和有什么区别?
++i
i++
for
++i将增加 的值i,然后返回增加的值。
i
i = 1;
j = ++i; (i is 2, j is 2)
i++将增加 的值,但返回在增加之前保持i的原始值。i
j = i++; (i is 2, j is 1)
对于一个for循环,任何一个都可以。++i似乎更常见,也许是因为这是在K&R中使用的。
在任何情况下,遵循“优先”的指导方针++i,i++你就不会出错。
关于 和 的效率有一些++i评论i++。在任何非学生项目编译器中,不会有性能差异。您可以通过查看生成的代码来验证这一点,这将是相同的。
C++对象是不同的,因为operator++()它是一个函数,编译器不知道优化临时对象的创建以保存中间值。
operator++()