在for循环中几乎没有区别,因为它的执行顺序for(partA; partB; partC)
首先执行partA
然后每次循环之前执行partB
每次循环之后执行partC
唯一的区别就是在某些情况下效率不同
对于基本数据类型,前置/后置++执行效率应该一样
对于对于用户自定义类型重载的++如最常见的iterator则++i效率要高一些
当然也不是绝对的
如果你用的是支持随机存储的容器如vector,string等,++iterator应该和iterator++是没有区别的,因为通常迭代器简单实现为普通指针
但是,如list,map,set等容器,iterator就没有这么简单了,++iterator效率高于iterator++,因为省了一个临时对象
感谢CSDN网友们的经验分享。