【C++学習|初心者向け】C++初心者必見!forループをスマートに制御する「continue文」の使い方

導入:なぜcontinue文が必要なのか?

C++でプログラミングをしていると、「特定の条件のときだけ、あとの処理を飛ばして次の繰り返しに進みたい」という場面によく遭遇します。例えば、リストの中から偶数だけを除外して処理したい場合などがそうです。ここでif文のネスト(入れ子)を深くしてしまうと、コードが複雑になり読みづらくなってしまいます。そこで活躍するのがcontinue文です。これを使うことで、不要な処理をスキップし、プログラムの流れをスッキリさせることができます。

基礎知識:continue文の仕組み

continue文は、for文やwhile文などのループ処理の中で使用される制御構文です。この命令が実行されると、その時点からループ内の「残りの処理」はすべて無視され、即座に「次の周回(次のループ)」へと処理がジャンプします。
「ループを完全に終了させる」break文とは異なり、ループ自体は継続されるという点が大きな違いです。

実装と解決策

continue文を使いこなすコツは、「処理したくない条件」を早期に判定することです。
例えば、「1から10までの数字のうち、偶数をスキップして奇数だけを表示する」というロジックを考えます。このとき、if文で偶数かどうかを判定し、条件に当てはまる場合はcontinueを呼び出します。これにより、その後の「表示処理」を飛ばすことが可能になります。

サンプルプログラム

以下のコードは、コピーしてそのまま実行可能です。continue文がどのように動作しているかを確認してみてください。


include

int main() {
// 1から10までループする
for (int i = 1; i <= 10; ++i) { // iを2で割った余りが0の場合(つまり偶数の場合) if (i % 2 == 0) { // ここでcontinueが実行されると、 // 下のstd::coutは実行されずに次のループへ進む continue; } // 偶数ではない(奇数の)場合のみ、ここが実行される std::cout << i << " は奇数です。" << std::endl; } return 0; }

応用・注意点:現場での活用と落とし穴

実務でcontinue文を使う際は、以下の点に注意してください。

1. 処理の意図を明確にする
continue文は便利ですが、使いすぎると「どこでループが戻るのか」が追いづらくなることがあります。if文で条件を逆転させて、なるべくコードが右側に深くネストしないように書く(ガード節のような使い方)のがコツです。

2. while文での無限ループに注意
while文でcontinueを使う際、ループの判定条件に使っている変数を更新する処理(例:i++など)が、continue文よりも「後」にある場合、注意が必要です。continueが実行されると更新処理が飛ばされてしまい、無限ループに陥る危険があります。while文で使う場合は、変数の更新位置を必ず確認するようにしましょう。

適切に使えばコードの可読性が格段に上がります。まずは上記のサンプルを動かして、continueの挙動を体感してみてくださいね!

コメント

タイトルとURLをコピーしました