i++和++i的区别总结
📅 2026/7/2 14:13:56
👁️ 阅读次数
📝 编程学习
i++ 和 ++i 完整区别
1. 核心定义
++i:前置自增先把 i 自身 +1,再返回自增后的新值。i++:后置自增先返回 i 原来的值,运算结束后再把 i +1。
2. 分开单独写(无赋值、无表达式时,两者无区别)
int i = 2; ++i; // i=3 int j = 2; j++; // j=3只单独一句自增,结果完全一样。
3. 放进表达式 / 赋值,差异巨大(重点)
示例 1:前置 ++i
int i = 2; int a = ++i;执行步骤:
- i = i + 1 → i=3
- a = i → a=3 结果:
i=3,a=3
示例 2:后置 i++
int i = 2; int a = i++;执行步骤:
- 先把 i 当前值赋值给 a → a=2
- 再 i = i + 1 → i=3 结果:
i=3,a=2
4. 经典对比代码
int x=5; int m = ++x; // x先变6,m=6 int y=5; int n = y++; // n先拿5,y最后变成65. 循环中使用(for 循环常规场景无差别)
// 两种效果一模一样 for(int i=0; i<10; i++){} for(int i=0; i<10; ++i){}for 的第三段只是单独自增,不参与取值,性能上现代编译器会优化成一样代码。
6. 性能小知识(C++)
++i:直接返回自身引用,无临时变量i++:需要保存旧值,生成临时副本
编程学习
技术分享
实战经验