i++與++i的區別

若是有表達式 a = i++  它等價於 a = i ; i = i + 1;優化

若是有表達式 a = ++i  它等價於   i = i + 1; a = i;指針

  1. 首先二者的區別是:前者是先賦值,而後再自增;後者是先自增,後賦值;
  2. ++i和i++都是分兩步完成的。由於++i 是後面一步才賦值的,因此它可以看成一個變量進行級聯賦值,++i = a =b;
  3. ++i 和i++ 的使用,通常來講在循環域裏面,這二者並無什麼很大的區別,由於編譯器通常都會給你作優化。可是要注意其生存週期,以及很難察覺的寫髒,就好像指針delete之後必定要賦予0同樣,咱們要注意i值在程序流中的變化;
相關文章
相關標籤/搜索