range-based for statement(for-each loop)。 配列やコンテナの全要素を順に処理するためのfor文。 C++11 で導入された。
基本形式
for (要素宣言 : 範囲式) {
// ループ本体
}初期化文付き形式
for (初期化文; 要素宣言 : 範囲式) {
// インデックス変数などを併用可能
}添字を自分で管理しなくてよいため、全要素に対する処理を書きやすい。
要素宣言の例
const auto&読み取るだけの場合。auto&元の要素を書き換える場合。autoコピーして扱う場合。
補足
- 逆順走査や添字が必要な場合は、通常のfor文やイテレータを使うことがある。
- C++20 以降では、初期化文付きの範囲for文も使える。