名前空間
変種
操作

continue 文

提供: cppreference.com
< cpp‎ | language
 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
continue - break  
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定 (C++20未満)
noexcept 指定子 (C++11)
例外
名前空間
指定子
decltype (C++11)
auto (C++11)
alignas (C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr (C++11)
ユーザ定義 (C++11)
ユーティリティ
属性 (C++11)
typedef 宣言
型エイリアス宣言 (C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
ラベル
label : statement
式文
expression ;
複合文
{ statement... }
選択文
if
switch
繰り返し文
while
do-while
for
範囲 for(C++11)
ジャンプ文
break
continue
return
goto
宣言文
declaration ;
try ブロック
try compound-statement handler-sequence
トランザクショナルメモリ
synchronized, atomic_commit など(TM TS)
 

囲っている for範囲 forwhile または do-while のループ本体の残りの部分をスキップさせます。

条件文を用いてループの残りの部分を無視するのが手間なときに使用されます。

目次

[編集] 構文

attr(オプション) continue ;

[編集] 説明

continue 文は、ループ本体の終わりに goto したかのように、ジャンプを発生させます (for範囲 forwhile および do-while ループのループ本体内にのみ現れることができます)。

より正確に言うと、

while ループの場合は、以下のように動作します。

while (/* ... */) {
   // ... 
   continue; // goto contin; として動作します。
   // ...
   contin:;
}

do-while ループの場合は、以下のように動作します。

do {
    // ...
    continue; // goto contin; として動作します。
    // ...
    contin:;
} while (/* ... */);

for および 範囲 for ループの場合は、以下のように動作します。

for (/* ... */) {
    // ...
    continue; // goto contin; として動作します。
    // ...
    contin:;
}

[編集] キーワード

continue

[編集]

#include <iostream>
 
int main() 
{
    for (int i = 0; i < 10; i++) {
        if (i != 5) continue;
        std::cout << i << " ";       // この文は i!=5 のときはスキップされます。
    }
 
    std::cout << '\n';
 
    for (int j = 0; j < 2; j++) {
        for (int k = 0; k < 5; k++) {   // continue によって影響を受けるのはこのループだけです。
            if (k == 3) continue;
            std::cout << j << k << " "; // この文は k==3 のときはスキップされます。
        }
    }
}

出力:

5
00 01 02 04 10 11 12 14

[編集] 関連項目