i++と++iの違い
i++と++iの違い:
前置インクリメント演算子(++i)と後置インクリメント演算子(i++)はどちらもiにi+1の結果を代入する演算子ですが、その違いについてざっくりと説明します。
式の値としてインクリメント後、つまりi+1の値を返します。
式の値としてインクリメント前、つまりiの値を返します。
どちらもよく見るforループですが、このように++i,i++が単独で現れ、式の値を使わない場合は動作に関して違いはありません。
また最近のコンパイラでは最適化によって実行速度にも違いがないため、好みの方を使えばいいと思います。
概要
前置インクリメント演算子(++i)と後置インクリメント演算子(i++)はどちらもiにi+1の結果を代入する演算子ですが、その違いについてざっくりと説明します。
前置インクリメント(++i)
式の値としてインクリメント後、つまりi+1の値を返します。i = 1; j = ++i; // jは2
後置インクリメント(i++)
式の値としてインクリメント前、つまりiの値を返します。i = 1; j = i++; // jは1
補足
for (int i = 0; i < n; ++i)
for (int i = 0; i < n; i++)
どちらもよく見るforループですが、このように++i,i++が単独で現れ、式の値を使わない場合は動作に関して違いはありません。
また最近のコンパイラでは最適化によって実行速度にも違いがないため、好みの方を使えばいいと思います。
コメント
コメントを投稿