看板 C_and_CPP 關於我們 聯絡資訊
意思大概是這樣吧 不知道有沒有講錯= =a i++ function { temp = i; i = i + 1; return temp; } ++i function { i = i + 1; return i; } 所以i++並不是在給值完才做+1的動作 i++和++i都是在一開始就做+1的動作 但是i++是要回傳+1之前的值 所以需要一個temp值來存 -- http://carl830.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.134.25
chrisdar:推 04/30 18:21
godman362:問題是,它為什麼要這樣處理? 04/30 18:51
godman362:這樣i++變成需要多一個tmp,不是比較慢嗎? 04/30 18:52
sunneo:不一定需要多一個tmp,最佳化過速度是一樣的 04/30 18:52
Fenikso:也不過慢個0.00000001秒 04/30 18:53
sunneo:假使是採用程式碼重新排序來達成 效果就沒差 04/30 18:53
typeotoco:compiler會幫忙處理最佳化吧 04/30 19:07
cole945:對原生型別(像int)根本沒那麼複雜,而且沒人說+1一定要在什 04/30 19:17
cole945:麼時候做.. i++,++i在語意上的差別比較重要.. 04/30 19:17
uefang:能++i 時,就盡量不要用i++,能+=就不要寫+ 良好寫code習慣 04/30 23:56