パフォーマンス上の理由で(特定の場合に)後置インクリメント演算子を避けるべきだと読みました。
しかし、これはコードの可読性に影響しませんか?私の考えでは:
for(int i = 0; i < 42; i++);
/* i will never equal 42! */
より良く見える:
for(int i = 0; i < 42; ++i);
/* i will never equal 42! */
しかし、これはおそらく単なる習慣ではありません。確かに、私は多くの使用を見ていません++i
。
この場合、パフォーマンスは可読性を犠牲にするのに悪いですか?または私はただ盲目であり、++i
より読みやすいですi++
か?
++i
i++
特定のコンテキストで異なることを行いますが、それらが同じであると仮定しないでください。
for (type i = 0; i != 42; ++i)
です。できるだけでなく、operator++
過負荷状態にあってもよいが、そうoperator!=
とoperator<
。接頭辞の増分は、接尾辞よりも高くなく、不等号は、より小さいよりも高くありません。どれを使うべきですか?
i++
それがパフォーマンスに影響を与える可能性があることを知る前に使用した++i
ので、切り替えました。最初は後者は少し奇妙に見えましたが、しばらくすると慣れてしまい、今ではのように自然に感じていi++
ます。