2010/03/20

i++と++iの違い

このエントリーをはてなブックマークに追加

インクリメント時の処理の違い

インクリメントするときに、記述の違いでの処理の違いについて。
i++は値を返してからiに1を加えます。++iは、1を加えてから値を返します。

例としてソースコードはjavascriptのものですが、C#でも同じです。

i++
var i = 0;
var a = i++;

alert("i=" + i + "/a=" + a);
/* 出力結果 i=1/a=0 */

++i
var i = 0;
var a = ++i;

alert("i=" + i + "/a=" + a);
/* 出力結果 i=1/a=1 */

インクリメントのときに、一緒にどこかに代入するようなケース自体が稀です。
whileの条件判定するときにi++か++iを使うのだろうなあと想像はできますけれど、もはやそういうコードを書く機会はあまりないかもしれませんね。けれど、知ってるに越したことはないです。
雑学的なネタ話になってしまってる感もあります。どっちがどっちかごっちゃになって調べる羽目になったので自分メモ。
世の中にはi++派が多いらしい(自分もその一人)。右利きが多いみたいなもんでしょうか。i++しか見たことない気もします。

0 件のコメント :

コメントを投稿