[开发语言][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后,返回之前的对象,涉及到运算对象的拷贝等操作。

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

相关推荐
三月微暖寻春笋几秒前
【和春笋一起学C++】(五十)在构造函数中使用new时的注意事项
c++·new·构造函数
weixin_307779134 分钟前
Jenkins Pipeline: Basic Steps 插件详解
开发语言·ci/cd·自动化·jenkins·etl
Chen--Xing6 分钟前
LeetCode 49.字母异位词分组
c++·python·算法·leetcode·rust
柯南二号6 分钟前
【后端】【Java】RESTful书面应该如何写
java·开发语言·restful
切糕师学AI7 分钟前
如何用 VS Code + C# Dev Kit 创建类库项目并在主项目中引用它?
开发语言·c#
JIngJaneIL10 分钟前
基于Java+ vueOA工程项目管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
tang&13 分钟前
Qt 基础教程:从初识到信号槽机制
开发语言·qt
蓝鲸屿14 分钟前
JS基础第九天——对象(2)+Random
开发语言·前端·javascript
_OP_CHEN27 分钟前
【算法基础篇】(三十三)动态规划之区间 DP:从回文串到石子合并,吃透区间类问题的万能解法
c++·算法·蓝桥杯·动态规划·算法竞赛·acm/icpc·区间动态规划
李绍熹27 分钟前
C语言数组与指针示例
c语言·开发语言