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

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

相关推荐
linweidong4 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
半桔9 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo9 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春10 小时前
C++之多重继承
c++·多重继承
m0_7369191010 小时前
C++代码风格检查工具
开发语言·c++·算法
2501_9449347310 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
黎雁·泠崖11 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724612 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!12 小时前
【C++】std::promise原理与实战解析
c++