i++和++i的區(qū)別
1、賦值順序不同, ++ i 是先加后賦值;i ++ 是先賦值后加;++i和i++都是分兩步完成的。
2、效率不同,比如i=3,b=i++就是說b=3,完成之后讓i變成4,b=++i就是先讓i++變成4,然后b=4,其中++i比i++效率要高些。一般來說在循環(huán)域里面,這兩者并沒有什么很大的區(qū)別,但是要注意其生存周期,以及i值在程序流中的變化。
3、i++ 不能作為左值,而++i 可以。左值是對(duì)應(yīng)內(nèi)存中有確定存儲(chǔ)地址的對(duì)象的表達(dá)式的值,而右值是所有不是左值的表達(dá)式的值。一般來說,左值是可以放到賦值符號(hào)左邊的變量。
4、i++和++i都是實(shí)現(xiàn)變量i的自增,兩者的區(qū)別在于i++是先運(yùn)算,再加1,而++i是先加1,后運(yùn)算。但是不管是i++還是++i,最后i的值都是相同的。
5、操作結(jié)果不同,對(duì)于n=++ i ,進(jìn)行操作后,n的值發(fā)生了改變,其值變成了i+1,對(duì)于n=i++ ,進(jìn)行操作后,n的值不發(fā)生改變,其值仍然為i。
標(biāo)簽(TAG)
上一篇:ipadpro3代是哪年的