随笔记-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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步