++i 和 i++

Posted ljjnbpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了++i 和 i++相关的知识,希望对你有一定的参考价值。

今天看String的源代码中看到startsWith方法里面有这么一段

 while (--pc >= 0) {
            if (ta[to++] != pa[po++]) {
                return false;
            }
        }

当时很糊涂 后来baidu了下发现 i++是先是使用 i的原值,然后再原值的基础上加1。++i是先在原值的基础上加1,然后再使用i的值,注意“使用”这个词。

所以--pc >= 0这段代码可以这么理解,先对pc的值减1,再使用更新后pc的值 与0比较。ta[to++]理解为 先使用to的值再对to加1,故假如to初始值为0,ta[to++]就是ta[0];

 

以上是关于++i 和 i++的主要内容,如果未能解决你的问题,请参考以下文章

这个代码片段究竟做了啥?

[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段

js 常用代码片段

这个代码片段有啥作用?

JavaScript实用功能代码片段

vs 2010代码片段