C/C++プログラミングにおけるcontinue文の使い方を解説
このチュートリアルでは、C/C++におけるcontinue文の動作について詳しく解説します。
continue文はループ制御文の一つです。break文がループ自体を終了させるのに対し、continue文は現在の反復処理における残りのステートメントをスキップし、次の反復(イテレーション)へ処理を強制的に移す働きを持っています。
continue文とbreak文の違い
- break文:ループ全体を終了し、ループの外へ抜けます。
- continue文:現在の回だけをスキップし、ループ処理は継続されます。
また、continue文の後の処理の流れは、ループの種類によって少し異なります。
- for文の場合:更新式(i++など)を実行してから条件判定に移ります。
- while文・do-while文の場合:直接条件判定へ移るため、更新処理を忘れると無限ループになる可能性があるので注意が必要です。
サンプルコード
以下の例では、1から10までの数値を出力するループの中で、6だけを出力対象からスキップしています。
#include <stdio.h>
int main() {
// 1から10まで繰り返す
for (int i = 1; i <= 10; i++) {
// 6の出力をスキップする
if (i == 6)
continue;
else
printf("%d ", i);
}
return 0;
}
実行結果
1 2 3 4 5 7 8 9 10
このように、変数 i が6になった時点でcontinue文が実行され、printf の呼び出しがスキップされるため、出力結果には「6」が含まれていません。特定の条件に該当するデータを除外しながらループ処理を行いたい場合に、continue文は非常に便利です。
-
C/C++のmemcpy()関数の使い方と実例解説
この記事では、C++ STLにおけるmemcpy()関数の動作、構文、および具体的な使用例について詳しく解説します。 memcpy()とは? memcpy()関数は、C++ STLに組み込まれた標準関数の一つで、<cstring>ヘッダーファイルで定義されています。この関数はメモリブロックをコピーするために使用され、あるメモリ位置から別のメモリ位置へ、指定されたバイト数分のデータを転送します。 関数の実行結果は、データのバイナリコピーとなります。重要な点として、memcpy()は終端のNULL文字やその他の終端記号をチェックしません。単純にソースから指定されたバイト数(num)をそ
-
C/C++で学ぶAA木(AA Tree)とは?基本概念と平衡化操作を徹底解説
AA木(AA Tree)とはコンピュータサイエンスにおいて、AA木(AA Tree)とは、順序付きデータを効率的に格納・検索するために実装された平衡木(バランスドツリー)の一種です。AA木は、赤黒木(Red-Black Tree)の変種として扱われます。赤黒木は二分探索木の一形態であり、要素の追加や削除を効率的にサポートします。赤黒木と大きく異なる点は、AA木では赤いノードを右の子としてのみ追加でき、左の子としては配置できないという制約があることです。この制約により、2-3-4木ではなく2-3木をシミュレートすることになり、その結果、木の保守操作が大幅に簡素化されます。赤黒木の平衡化アルゴリズ