1.1 前置/后置运算(自增/自减)
C++中提供了前置(++i
/--i
)和后置(i++
/i--
)的自增/自减运算符,用于对变量进行加1或减1操作。两者的区别在于运算顺序和返回值:
- 前置运算:先对变量进行自增/自减,再返回修改后的值。
- 后置运算:先返回变量的原始值,再对变量进行自增/自减。
示例代码:
int a = 5;
int b = ++a; // a=6, b=6(前置++)
int c = a--; // c=6, a=5(后置--)
1.2 运算符优先级与结合性
自增/自减和取模运算符的优先级较高,但需注意:
- 前置自增/自减优先级高于后置。
- 取模运算符(
%
)与乘除法同级,高于加减法。
结合性规则:
- 自增/自减和取模均为从左到右结合。
示例复杂表达式:
int i = 3;
int r = i++ % 5 * --i; // 分解为:(i++) % 5 * (--i)
1.3 常见应用场景
-
循环控制:
for (int i = 0; i < 10; ++i) // 推荐前置++(无性能差异但语义明确)
注:推荐前置,虽然没有性能差异,但是语义更加明确
-
周期循环索引:
int index = (current + 1) % arraySize; // 环形缓冲区
-
奇偶判断:
if (num % 2 == 0) // 偶数