開心生活站

位置:首頁 > IT科技 > 

i++和++i的區別

IT科技1.89W

i++和++i的區別

i++和++i的區別:

1、i++ 返回原來的值,++i 返回加1後的值。

2、i++ 不能作爲左值,而++i可以。

3、i++前者是先賦值,然後再自增;++i後者是先自增,後賦值。

如果有表達式 a = i++ 它等價於 a = i;i = i + 1;

如果有表達式 a = ++i;它等價於i = i + 1;a = i;

++i和i++都是分兩步完成的。因爲++i 是後面一步才賦值的,所以它能夠當作一個變量進行級聯賦值,++i =;a =b,即++i是一個左值(可被尋址的值);i++ 的後面一步是自增,不是左值。

++i和i++的使用,一般來說在循環域裏面,這兩者並沒有什麼很大的區別,因爲編譯器一般都會做優化。但是要注意其生存週期,以及很難察覺的,就好像指針delete以後一定要賦予0一樣,要注意i值在程序流中的變化。

標籤: