C++ for循环语句使用前置++和后置++有何区别?

在for循环中几乎没有区别,因为它的执行顺序for(partA; partB; partC)

首先执行partA

然后每次循环之前执行partB

每次循环之后执行partC

唯一的区别就是在某些情况下效率不同

对于基本数据类型,前置/后置++执行效率应该一样

对于对于用户自定义类型重载的++如最常见的iterator则++i效率要高一些

当然也不是绝对的

如果你用的是支持随机存储的容器如vector,string等,++iterator应该和iterator++是没有区别的,因为通常迭代器简单实现为普通指针

但是,如list,map,set等容器,iterator就没有这么简单了,++iterator效率高于iterator++,因为省了一个临时对象

感谢CSDN网友们的经验分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值