关于两者的区别,记住一句话 i++ 是先参与运算然后自加1, ++i 是先自加1然后参与运算。 只要不和赋值语句连在一起,就没有区别。 在for循环中,两者循环的结果是一样的。 但是!!!!!!!! 那for(int i=0; i<10 b="" for="" i="" int="">内存开销不同!!! 执行次数越多,效果越明显! // i++ function () { tmp = i; i = tmp + 1; return tmp; } ========================== // ++i function () { i = i + 1; return i; } 可以参考这里获知详情。总而言之,i++ 语句需要个临时变量,去存储返回自增前的值。 不要忽略这个变量的意义,了解过 C 等“低级”语言的朋友,可能会了解变量的内部机制(重新祭奠我老去的 C 语言知识)。首先,申请(malloc)一段内存空间,然后将值塞(push,压栈)进去,最后不用了释放(free)。 大家可能在循环中会经常的使用 i++ 这样的操作。在不影响逻辑的前提下,我建议使用 ++i ,虽然这点的优化非常的小。 因此,++i的性能将比i++的性能略好。上文对二者的函数解释相当精彩! 参考:https://codeantenna.com/a/0SAazZABw0