Las 4 partes de todos los de bucle en C ++
El más básico de todas las estructuras de control en C ++ es el mientras lazo. Aunque no es tan flexible, el para bucle es en realidad el más popular de los dos - que tiene una cierta elegancia que es difícil de ignorar. Se dará cuenta de que la mayoría de los bucles tienen cuatro partes esenciales.
La configuración: Por lo general, la configuración implica declarar e inicializar una incremento variable. Esto generalmente se produce inmediatamente antes de la mientras.
La expresión de la prueba: La expresión dentro de la mientras bucle que hará que el programa ya sea a ejecutar el bucle o salida y continuar adelante. Esto siempre ocurre dentro de los paréntesis a continuación de la palabra clave mientras.
El cuerpo: Este es el código dentro de las llaves.
La subasta: Aquí es donde se incrementa la variable de incremento. Esto por lo general se produce en el extremo del cuerpo.
En el caso del programa factorial, las cuatro partes veía así:
int nValue = 1- // la setupwhile (nValue lt; = nTarget) // la expresión de prueba {// la bodycout lt; lt; nAccumulator lt; lt; "*" Lt; lt; nValue lt; lt; "Iguales" -nAccumulator = nAccumulator * nValue-cout lt; lt; nAccumulator lt; lt; endl-nValue ++ - // el incremento}
los para bucle incorpora estas cuatro partes en una sola estructura usando la palabra clave para:
para (incremento prueba setup- expresión-) {} cuerpo-
El flujo se muestra gráficamente aquí:
A medida que la CPU viene inocentemente sobre la para palabra clave, el control se desvía a la configurar cláusula.
Una vez que la configuración se ha realizado, el control se mueve a la prueba expresión.
(a) Si el expresión de prueba es cierto, el control pasa al cuerpo de la para lazo.
(b) Si el expresión de prueba es falso, el control pasa a la siguiente instrucción después de la llave cerrada.
Una vez que el control ha pasado a través del cuerpo del bucle, la CPU se ve obligado a realizar un giro en U de nuevo hasta la incremento sección del bucle.
Hecho esto, el control vuelve al expresión de prueba y volver al paso 3.
Esta para bucle es completamente equivalente a la siguiente mientras lazo:
setup-while (expresión de prueba) {body-increment-}