開心生活站

位置:首頁 > 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值在程式流中的變化。

標籤: