goto Deyimi (C++)

deyimi, goto denetimi koşulsuz olarak belirtilen tanımlayıcı tarafından etiketlenen deyime aktarır.

Sözdizimi

goto identifier;

Açıklamalar

tarafından identifier belirlenen etiketli deyimin geçerli işlevde olması gerekir. Tüm identifier adlar bir iç ad alanının üyeleridir ve bu nedenle diğer tanımlayıcıları engellemez.

Deyim etiketi yalnızca bir goto deyim için anlamlıdır; aksi takdirde deyim etiketleri yoksayılır. Etiketler yeniden işlenemez.

Bir goto deyiminin denetimi, bu konumdaki kapsamdaki herhangi bir değişkenin başlatılmasını atlayan bir konuma aktarmasına izin verilmez. Aşağıdaki örnek C2362'yi yükseltir:

int goto_fn(bool b)
{
    if (!b)
    {
        goto exit;  // C2362
    }
    else
    { /*...*/ }

    int error_code = 42;

exit:
    return error_code;
}

Mümkün olduğunda deyimi yerine goto , continueve return deyimlerini kullanmak breakiyi bir programlama stilidir. Ancak, deyimi bir döngünün break yalnızca bir düzeyinden çıktığı için, derin iç içe döngüden çıkmak için bir goto deyimi kullanmanız gerekebilir.

Etiketler ve goto deyim hakkında daha fazla bilgi için bkz . Etiketli Deyimler.

Örnek

Bu örnekte, bir goto deyim denetimi 3'e eşit olduğunda i etiketlenmiş stop noktaya aktarır.

// 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 );
}
Outer loop executing. i = 0
Inner loop executing. j = 0
Inner loop executing. j = 1
Outer loop executing. i = 1
Inner loop executing. j = 0
Inner loop executing. j = 1
Outer loop executing. i = 2
Inner loop executing. j = 0
Inner loop executing. j = 1
Outer loop executing. i = 3
Inner loop executing. j = 0
Jumped to stop. i = 3

Ayrıca bkz.

Atlama Deyimleri
Anahtar Sözcükler