[ステートメント (C++)
指定した識別子によってステートメント ラベルに無条件に goto ステートメントの制御を移します。
goto identifier;
解説
identifier で指定されたラベル付きステートメントは現在の関数である必要があります。したがって identifier のすべての名前は名前空間のメンバーであり他の識別子で干渉することはありません。
ステートメント ラベルは goto のステートメントのみ有効です ; はステートメント ラベルは無視されます。ラベルは再宣言できません。
にはgoto のステートメントの代わりに breakcontinue と return のステートメントを使用するようにプログラミング スタイルを支援します。ただしbreak のステートメントがループの 1 レベルだけで終了するため入れ子になったループを終了するには goto のステートメントを使用する必要があります。
ラベルと goto のステートメントの詳細についてはラベル付きステートメント と GoTo ステートメントでラベルを使用します を参照してください。
使用例
この例ではの goto のステートメントに渡しstop と i のラベル (3。
// 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 );
}