forループ

  • for(初期化; 条件; 更新) { … }
  • for(int i = 0; i < N; ++i) { … }
    • 0 から初めてN回繰り返すことを明確にするため i <= N-1 ではなく i < N と記述する
    • ++i は i++ と書いてもよい
    • 大昔は ++i と書いた方が高速であったが、最適化技術が進歩した現在では、差はないことが多い
  • for(int i = 0; i != N; ++i) { … }
    • イテレータの場合との統一性重視するなら、こちらの書き方の方がいいかもしれない
  • for(int i = 0; i <= N-1; ++i) { … }
  • for(int i = N; –i >= 0;) {… }
  • for(int i = N-1; i >=0; –i) { … }
  • for(std::vector::iterator itr = v.begin(); itr != v.end(); ++itr)  { … }
  • for(auto itr = v.begin(); itr != v.end(); ++itr)  { … }
  • for(auto itr = v.cbegin(); itr != v.cend(); ++itr)  { … }
  • for(auto x : range) { … }
  • for(auto &x : range) { … }
  • for(;;) { … } // 無限ループ while( 1 ) { … } と同等
  • while文との比較
    • while 文に比べて行数が少なく、簡潔に書ける
    • ループ変数をローカルに出来る(外に出した方がよい場合もある)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です