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) // 偶数
评论前必须登录!
注册