網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

i++和++i的區別

欄目: IT科技 / 發佈於: / 人氣:1.81W

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值在程序流中的變化。

Tags: