i++和++i的区别总结
i 和 i 完整区别1. 核心定义i前置自增先把 i 自身 1再返回自增后的新值。i后置自增先返回 i 原来的值运算结束后再把 i 1。2. 分开单独写无赋值、无表达式时两者无区别int i 2; i; // i3 int j 2; j; // j3只单独一句自增结果完全一样。3. 放进表达式 / 赋值差异巨大重点示例 1前置 iint i 2; int a i;执行步骤i i 1 → i3a i → a3 结果i3a3示例 2后置 iint i 2; int a i;执行步骤先把 i 当前值赋值给 a → a2再 i i 1 → i3 结果i3a24. 经典对比代码int x5; int m x; // x先变6m6 int y5; int n y; // n先拿5y最后变成65. 循环中使用for 循环常规场景无差别// 两种效果一模一样 for(int i0; i10; i){} for(int i0; i10; i){}for 的第三段只是单独自增不参与取值性能上现代编译器会优化成一样代码。6. 性能小知识Ci直接返回自身引用无临时变量i需要保存旧值生成临时副本