i++和++i的区别


i++和++i的区别

文章插图
1、赋值顺序不同, ++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的 。
2、效率不同,比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中++i比i++效率要高些 。一般来说在循环域里面,这两者并没有什么很大的区别,但是要注意其生存周期 , 以及i值在程序流中的变化 。
3、i++ 不能作为左值,而++i 可以 。左值是对应内存中有确定存储地址的对象的表达式的值 , 而右值是所有不是左值的表达式的值 。一般来说 , 左值是可以放到赋值符号左边的变量 。
4、i++和++i都是实现变量i的自增 , 两者的区别在于i++是先运算,再加1,而++i是先加1,后运算 。但是不管是i++还是++i , 最后i的值都是相同的 。
【i++和++i的区别】5、操作结果不同,对于n=++ i ,进行操作后,n的值发生了改变,其值变成了i+1 , 对于n=i++ ,进行操作后,n的值不发生改变,其值仍然为i 。

    推荐阅读