Sdílet prostřednictvím


prohlášení (C++)

Provede příkaz a výraz smyčka opakovaně až do sražené výraz přestane platit.Informace týkající se na na základě rozsahu pro výkaz, viz Příkaz For založený na rozsahu (C++).

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

Poznámky

Použití for příkaz k vytvoření smyčky, které musí být prováděny zadaným počtem opakování.

for Prohlášení se skládá ze tři volitelné části, jak je znázorněno v následující tabulce.

pro prvky smyčky

Syntaxe názvu

Při spuštění

Obsah

Init výraz

Před z jiných prvků pro prohlášení.Init výraz je proveden pouze jednou.Ovládací prvek pak průchodech sražené výraz.

Často slouží k inicializaci indexy smyčky.Může obsahovat výrazy nebo prohlášení (pouze pro jazyk C++).

sražené výraz

Před spuštěním každé opakování příkaz, včetně první iteraci.příkaz je proveden pouze v případě sražené výraz vyhodnocen jako true (nenulové).

Výraz, jehož výsledkem integrálního typu nebo typ třídy, která má jednoznačné převodu na integrální typ.Obvykle se používá k testování kritéria ukončení smyčky.

výraz smyčka

Na konci každé opakování příkaz.Po výraz smyčka je proveden, sražené výraz je vyhodnocen.

Obvykle lze zvýšit smyčky indexy.

Příklad:

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

Předchozí for smyčka je ekvivalentní následujícímu while smyčka:

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

Init výraz a výraz smyčka může obsahovat více příkazů, které jsou odděleny operátor čárka.Příklad:

// 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 ukončí smyčku, kdy Konec, vrátit, nebo goto (označené prohlášení mimo pro smyčky) v rámci příkaz je proveden.A pokračovat v prohlášení v for smyčka ukončí aktuální iterací.

Pokud sražené výraz je tento argument vynechán, předpokládá se true a pro smyčky neukončí bez break, return, nebo goto v prohlášení.

Pohodlný způsob určení nekonečno smyčky pomocí for příkaz je:

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

Přestože tří oblastí for prohlášení se obvykle používají pro inicializaci testování pro odstoupení od zakázky a nezvyšuje, nejsou omezeny na tato použití.Například následující kód vypíše čísla 0 až 4.V tomto případě příkaz je null prohlášení:

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

pro smyčky a C++ Standard

C++ standard říká, že proměnná deklarovaná v for smyčky se dostanou mimo rozsah po for smyčky skončí.Příklad:

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

Ve výchozím nastavení pod /Ze, proměnné deklarované v for smyčky zůstává v rozsahu až for smyčky společnosti orámování končí rozsah.

/Zc:forScope umožňuje standardní chování proměnné deklarované v smyčky for, aniž by bylo nutné určit /Za.

Je také možné použít oboru rozdílů for smyčka redeclare proměnné v rámci /Ze takto:

// 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++ ) {}
}

To lépe napodobuje standardní chování proměnné deklarované v for smyčky, která vyžaduje proměnné deklarované v for smyčka přesahují rozsah platnosti, po dokončení smyčky.Pokud je proměnná deklarována v for smyčky, kompilátor interně propaguje ji místní proměnné v for smyčky společnosti orámování oboru, i v případě, že místní proměnné se stejným názvem již existuje.

Viz také

Referenční dokumentace

Iterace výkazů (C++)

Klíčových slov jazyka C++

při výpisu (C++)

do-while – příkaz (C++)

Příkaz For založený na rozsahu (C++)