範囲for文
もっと楽に回る
ここで、非常に便利な制御文を紹介するよ。
C++ やるなら、これが使えるとすごく楽になるからね。
文法
範囲 for 文 は、データに対する繰り返しが楽にかける for
だよ。
for ( 変数 : 反復するもの ) 繰り返す文
これは、
- 反復するもの から値を一つづつ取り出して変数の中に入れる。
- 繰り返す文 を実行する。↑ の変数が使える。
というもの。
実例
実際に使うとこんな感じ。
まず、配列に使える。
int nums[] = {4, 2, 3};
for (int element : nums) { // コピーで取り出して、
std::cout << element << " "; // 一つづつ出力
}
for (int &element : nums) { // 参照で取り出して、
--element; // 一つ減らす
}
// もう一度出力
for (int element : nums) {
std::cout << element << " ";
}
std::string
にも (クラス側が対応しているから) 使える。
std::string text("Hello");
for (char part : text) { // コピーで取り出しても、
++part; // 変更は反映されない
}
std::cout << text << "\n";
for (char &part : text) { // 参照で取り出すことで、
++part; // 変更できる
}
std::cout << text << "\n";
これもしっかり練習して使いこなせるようになっておこう。