- 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 文に比べて行数が少なく、簡潔に書ける
- ループ変数をローカルに出来る(外に出した方がよい場合もある)