Share via


goto ステートメント (C++)

goto ステートメントは、指定した識別子によってラベル付けされたステートメントに制御を移します。

goto identifier;

解説

identifier で指定されたラベル付きステートメントは、現在の関数内にある必要があります。 すべての identifier 名は内部の名前空間のメンバーであるため、他の識別子と干渉することはありません。

ステートメント ラベルは goto ステートメントに対してのみ意味があります。その他の場合、ステートメント ラベルは無視されます。 ラベルは再宣言できません。

可能な限り、goto ステートメントより break、continue、および return ステートメントを使用することをお勧めします。 ただし、break ステートメントはループの 1 つのレベルのみを終了するため、深い入れ子のループを終了するには goto ステートメントを使用する必要がある場合もあります。

ラベルと goto ステートメントの詳細については、「ラベル付きステートメント」および「goto ステートメントでのラベルの使用」を参照してください。

使用例

この例で goto ステートメントは、i が 3 に等しい場合に、stop というラベルの位置に制御を移します。

// goto_statement.cpp
#include <stdio.h>
int main()
{
    int i, j;

    for ( i = 0; i < 10; i++ )
    {
        printf_s( "Outer loop executing. i = %d\n", i );
        for ( j = 0; j < 2; j++ )
        {
            printf_s( " Inner loop executing. j = %d\n", j );
            if ( i == 3 )
                goto stop;
        }
    }

    // This message does not print: 
    printf_s( "Loop exited. i = %d\n", i );
    
    stop: 
    printf_s( "Jumped to stop. i = %d\n", i );
}
  

参照

関連項目

ジャンプ ステートメント (C++)

C++ キーワード