[开发语言][C++]:递增递减运算符

什么是递增递减运算符


递增运算符和递减运算符为对象的+1和-1提供了简洁的书写形式。

自增自减运算符的应用:

这两个运算符除了应用在算术运算,还可应用于迭代器,因为很多迭代器并不支持算术运算。

递增和递减运算符有两种书写形式:前置版本和后置版本。

  • 前置版本 ++i & --i:首先将运算对象+1/-1,然后将改变的对象作为求值结果。

  • 后置版本 i++ & i--:首先将运算对象+1/-1,然后将运算对象改变之前的那个值的副本作为求值结果。

cpp 复制代码
int i, j = 0;
j = ++i;  // 前置版本,i = 1,j = 1,获得递增之后的值
j = i++;  // 后置版本,i = 2,j = 1,获得递增之前的值

除非必须,否则不用递增递减运算符的后置版本!!

前置版本的运算符,避免了不必要的工作,它把运算对象+1后,直接返回了运算后的对象,期间不涉及对象的拷贝等操作;而后置运算符,则需要将运算对象先保存下来,用于+1后,返回之前的对象,涉及到运算对象的拷贝等操作。

如果你并不需要返回递增/递减之前的值,则强烈建议不使用递增运算符的后置版本!!

相关推荐
froginwe114 分钟前
HTML 标题
开发语言
悠哉悠哉愿意7 分钟前
【嵌入式学习笔记】任务调度器
开发语言·笔记·单片机·嵌入式硬件·学习
笨蛋少年派10 分钟前
Shell脚本编程(bash)简述
开发语言·bash
BD_Marathon14 分钟前
Vue3_事件渲染命令
开发语言·javascript·ecmascript
倔强的小石头_16 分钟前
Python 从入门到实战(十一):数据可视化(用图表让数据 “说话”)
开发语言·python·信息可视化
StudyWinter24 分钟前
【c++】thread总结
开发语言·c++·算法
@小白鸽24 分钟前
匿名函数lambda
c++·匿名函数
小鸡脚来咯30 分钟前
java泛型详解
java·开发语言
饕餮怪程序猿30 分钟前
贪心算法经典应用:活动选择问题(C++实现)
c++·算法·贪心算法
liuyouzhang33 分钟前
备忘-国密解密算法
java·开发语言