至於++i和i++有什麼區別,舉個例子簡單而言: ++i 在 i 儲存的值上增加一併向使用它的表示式 ``返回" 新的, 增加後的值; 而 i++ 對 i 增加一, 但返回原來的是未增加的值。1.a = i++; 等校為
a = i;
i = i + 1;
2.a = ++i; 等校為
i = i + 1;
a = i;
i++和++i的 最重要的區別大家都知道就是 +1和返回值的順序
但,兩這還有乙個區別(在c++中)就是i++在實現的時候,產
生了乙個local object
class int;
//++i 的版本
int int::operator++()
//i++ 的版本
const int int::operator ++(int)
所以從效率上來說++i比i++來的更有效率
具體細節你可以看more effective c++ 的m6
看看c++類過載運算子就知道了。
對於i++的實現是:
int temp;
temp = i;
i = i+1;
return temp;
而++i的實現是:
i = i+1;
return i;
比如printf("%d",i++);是先輸出i值隨後i自加,而printf("%d",++i);正好相反
for(operation1;operation2;operation3)
都是按
operation1
operation2
//do something
operation3
的順序來執行的
而i++與++i在單獨的語句中結果是一樣的。
i和i 的根本區別
至於 i和i 有什麼區別,舉個例子 1.a i 等校為 a i i i 1 2.a i 等校為 i i 1 a i i 和 i的 最重要的區別大家都知道就是 1和返回值的順序 但,兩這還有乙個區別 在c 中 就是i 在實現的時候,產 生了乙個local object class int i 的版本 ...
i和i 的區別
大家都應該知道i 和 i的區別,前者是先使用i的值,然後再增加1,而後者是先增加1然後再使用i的值。但是i 和 i那個更好呢?我們實現角度來看 前者是將i值加1後賦給i,然後返回i本身 而後者是先用個臨時變數儲存i值,然後將i值加1賦給i,然後返回臨時變數的值。內建資料型別他們的效率差不多,看他們的...
i 和 i的區別
當年上c 課的時候對於i 和 i的區別就稀里糊塗。後來沒注意也沒出過什麼問題。但是這個問題還是應該搞清楚。假如有乙個vector,值為 1,2,3,4,5,6,7 用以下程式輸出 i 0 while i 7 i 0 while i 7 cout beforei v i endl cout befor...