インスパイア元 → 0 ベース vs 1 ベース
count回ループするとき、(僕も含めて)大抵こう↓書きます。
for ( int i = 0; i < count; ++i ) { ... }
インスパイア元ではループ変数(i)を0から始めるか1から始めるかって議論
になっちょるのですが、僕が引っ掛かりを感じるのはむしろループ終了条件の方。
for ( int i = 0; i != count; ++i ) { ... }
って書いたのって珍しいよね。なぜなんでしょ。
0から始めてcountを超えない範囲で++しながら...
という意味合いを込めて < を使うのかしら。
"もし万が一countが負だったら止まんなくなるぢゃなーい!?"
と不安になるからかしら。だとすると
for ( int i = 0; i < 10; ++i ) { ... }
って書く理由がなくなるわなぁ。
"もし万が一countがdoubleだったら通り過ぎちゃうかもー"
かしら? だとしても
for ( int i = 0; i < count; ++i ) { ... }
って書いたところで期待される回数ループする保証はないよ。
通り過ぎることはないけども、どっちみちバグだわ。
「バイブルK&Rで < だから」 なんてのが一番もっともらしい理由かもね♪