随笔记-for循环中++i和i++

刚开始刷力扣的时候注意到一个不太一样的点。
以前写for循环都是for(xxx;xxx;i++)一路这么写过来,教材上面、老师讲课也一路是这么过来的。
但不太一样的是:发现力扣上的for循环都是这么写的for(xxx;xxx;++i),第三个语句都是++i而不是i++,而且并不只有for下、循环,题解中涉及自增自减几乎都是这样。
当然,学过C++当然知道单说这两种写法的区别:

i++是用完再加;++i是加完再用
也就是说int i=1;cout<<i++;输出是1,而cout<<++i;输出则是2

但是我并不理解在for循环中这两种写法有什么区别,就循环结果而言,我认为是没有区别的,就一直有些不解。
今天去搜了一下,看到一篇博文上这个解释:

i++由于是在使用当前值之后再+1,所以需要一个临时变量来转存
而++i则是直接+1,省去了对内存的操作环节,相对而言能够提高性能

看起来像是那么回事,“更好的性能”看起来合情合理,只是有待查证,对于这个解释我也不是完全理解,mark一下先

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16149779.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(166)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起