para la instrucción (C++)

Ejecuta la instrucción y la bucle- expresión repetidamente hasta que la cond- expresión esté false.Para obtener información sobre intervalo- basado de la instrucción, vea Instrucción for basada en intervalo (C++).

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

Comentarios

Utilice la instrucción de for para construir los bucles que deben ejecutar un número especificado de veces.

La instrucción de for consta de tres partes opcionales, como se muestra en la tabla siguiente.

para los elementos de bucle

Nombre de la sintaxis

Cuando se ejecuta

Contenido

init-expresión

Antes de cualquier otro elemento de la instrucción for.la init- expresión sólo se ejecuta una vez.El Control se devuelve a la cond- expresión.

A menudo para inicializar índices de bucle.Puede contener expresiones o declaraciones (sólo C++).

cond-expresión

Antes de la ejecución de cada iteración de la instrucción, incluida la primera iteración.se ejecuta la instrucción sólo si la cond- expresión se evalúa como true (cero).

Una expresión que se evalúa como un tipo entero o un tipo de clase con una conversión no ambigua a un tipo entero.Se utiliza normalmente para comprobar los criterios de la bucle- finalización.

bucle-expresión

Al final de cada iteración de la instrucción.Después de ejecutar la bucle- expresión, se evalúa la cond- expresión.

Utilizado normalmente para aumentar índices de bucle.

Por ejemplo:

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

El bucle anterior de for es equivalente al bucle siguiente de while:

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

la init- expresión y la bucle- expresión pueden contener varias instrucciones separadas por operador coma.Por ejemplo:

// 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) );
}

Un bucle de for finaliza cuando interrupción, return, o indicado (a una instrucción con etiqueta fuera del bucle for ) dentro de la instrucción se ejecuta.Una instrucción de continúe en un bucle de for finaliza sólo la iteración actual.

Si se omite la cond- expresión, se considera true y el bucle for no finalizará sin break, return, o goto dentro de la instrucción.

Una manera cómoda de especificar un bucle infinito utilizando la instrucción de for es:

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

Aunque los tres campos de la instrucción de for se utilizan normalmente para la inicialización, comprobar la finalización, y aumentará, no se limitan a estos utilizan.Por ejemplo, el código siguiente se imprime los números 0 a 4.En este caso, la instrucción es la instrucción nula:

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

bucles for y el estándar de C++

El estándar de C++ indica que una variable declarada en un bucle de for saldrá de ámbito cuando termina el bucle de for.Por ejemplo:

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

De forma predeterminada, en /Ze, permanecen una variable declarada en un bucle de for en el ámbito hasta que finaliza el ámbito del bucle de for envolventes.

el comportamiento estándar de /Zc:forScope de las variables declaradas en bucles for sin necesidad especificar /Za.

También es posible utilizar las diferencias de ámbito del bucle de for a las variables de declararla en /Ze como sigue:

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

Este imita más estrechamente el comportamiento estándar de una variable declarada en un bucle de for, que requiere las variables declaradas en un bucle de for para salir del ámbito cuando se haga el bucle.Cuando una variable se declara en un bucle de for, el compilador internamente se promueve a una variable local en el ámbito de inclusión del bucle de for incluso si ya existe una variable local con el mismo nombre.

Vea también

Referencia

Instrucciones de iteración (C++)

Palabras clave de C++

while (instrucción) (C++)

do-while (instrucción de C++)

Instrucción for basada en intervalo (C++)