Udostępnij za pośrednictwem


dla instrukcji (C++)

Wykonuje instrukcji i wyrażenie loop do momentu, aż wyrażenie z przewodem przestaje być prawdziwy.Aby uzyskać informacje dotyczące oparte na zakresie dla instrukcji, zobacz Range-based for — instrukcja (C++).

for ( init-expression ; cond-expression ; loop-expression )
   statement 

Uwagi

Użycie for instrukcji do konstruowania pętli, które należy wykonać określoną liczbę razy.

for Instrukcji składa się z trzech części opcjonalne, jak pokazano w poniższej tabeli.

dla elementów pętli

Składnia nazwy

Po wykonaniu

Zawartość

init wyrażenie

Przed innych elementów dla instrukcji.init wyrażenie jest uruchamiane tylko raz.Następnie sterowanie przechodzi do wyrażenie z przewodem.

Często używany do zainicjowania indeksy pętli.Może zawierać wyrażenia lub deklaracje (tylko w języku C++).

wyrażenie z przewodem

Przed wykonaniem każdej iteracji instrukcji, łącznie z pierwszej iteracji.Instrukcja jest wykonywany tylko wtedy, gdy wyrażenie z przewodem ma wartość true (niezerowej).

Wyrażenie, którego wynikiem jest typem całkowitym lub typ klasy, który ma jednoznaczne konwersji na typ integralny.Normalnie używane do testowania dla kryteriów zakończenia pętli.

wyrażenie LOOP

Na końcu każdej iteracji instrukcji.Po wyrażenie loop jest wykonywana, wyrażenie z przewodem sprawdzana jest zgodność.

Zwykle jest używana do przyrostu indeksy pętli.

Na przykład:

// for_statement1.cpp
#include <stdio.h>
int main() {
int i;
for ( i = 0 ; i < 2 ; i++ ) 
   printf_s( "\n%d\n",i );
}

Poprzednie for pętla jest równoważna następującej while pętli:

// for_statement2.cpp
#include <stdio.h>
int main()
{
   int i = 0;
   while ( i < 2 )
      printf_s( "%d\n", i++ );
}

init wyrażenie i wyrażenie loop może zawierać wiele instrukcji rozdzielonych przecinka operator.Na przykład:

// for_statment3.cpp
#include <stdio.h>
int main()
{
   int i, j;
   for ( i = 5, j = 10 ; i + j < 20; i++, j++ )
      printf_s( "\n i + j = %d", (i + j) );
}

A for pętla kończy działanie, gdy podziału, powrócić, lub Przejdź do (oznaczona jako instrukcja poza dla pętli) w ramach instrukcji jest wykonywany.A kontynuować instrukcji w for pętla kończy działanie tylko bieżącej iteracji.

Jeśli wyrażenie z przewodem jest pominięty, uważa się wartość true i dla pętli nie zakończy się bez break, return, lub goto w instrukcji.

Za pomocą pętli wygodnym sposobem określania nieskończone for instrukcja jest:

for( ; ; )
{
    // Statements to be executed.
}

Chociaż trzy pola z for instrukcja są zwykle używane do inicjowania, badania na zakończenie, i zwiększając tę wartość, nie są ograniczone do tych zastosowań.Na przykład poniższy kod wyświetla cyfry od 0 do 4.W takim przypadku instrukcji jest deklaracja wartości null:

// for_statement4.cpp
#include <stdio.h>
int main()
{
    int i;
    for( i = 0; i < 5; printf_s("%d\n", i), i++)
        ;
}

dla pętli i C++ Standard

C++ standard mówi, że Zmienna zadeklarowana w for pętla się wykroczenia poza zakres po for kończy się w pętli.Na przykład:

for (int i = 0 ; i < 5 ; i++) {
   // do something
}
// i is now out of scope under /Za or /Zc:forScope

Domyślnie w obszarze /Ze, Zmienna zadeklarowana w for pętli pozostaje w zakresie aż do for pętli jest załączając zakresu.

/Zc:forScope umożliwia zachowanie standardowe zmienne zadeklarowane w pętle for bez konieczności określ /Za.

Istnieje również możliwość korzystania z zakresu różnice między for pętli do redeclare zmienne w obszarze /Ze się następujące zmiany:

// for_statement5.cpp
int main(){
   int i = 0;   // hidden by var with same name declared in for loop
   for ( int i = 0 ; i < 3; i++ ) {}

   for ( int i = 0 ; i < 3; i++ ) {}
}

Większym stopniu naśladuje to zachowanie standardowe Zmienna zadeklarowana w for pętla, która wymaga zmienne zadeklarowane w for pętli do wykroczenia poza zakres, po zakończeniu pętli.Kiedy zmienna jest zadeklarowana w for pętli, kompilator wewnętrznie promuje ją do zmiennej lokalnej, w for pętli jest załączając zakresu, nawet jeśli zmienna lokalna o tej samej nazwie już istnieje.

Zobacz też

Informacje

Instrukcje iteracji (C++)

Słów kluczowych języka C++

podczas gdy instrukcja (C++)

do-while — instrukcja (C++)

Range-based for — instrukcja (C++)