Os 4 partes de cada loop for em C ++
O mais básico de todas as estruturas de controle em C ++ é a enquanto loop. Apesar de não ser tão flexível, a para circuito é realmente o mais popular dos dois - ele tem uma certa elegância que é difícil de ignorar. Você vai notar que a maioria dos laços tem quatro partes essenciais.
A configuração: Normalmente, a configuração envolve declarar e inicializar um incremento variável. Isto geralmente ocorre imediatamente antes da enquanto.
A expressão de teste: A expressão dentro do enquanto loop que fará com que o programa para tanto executar o loop ou sair e continuar. Isso sempre ocorre dentro dos parênteses após a palavra-chave enquanto.
O corpo: Este é o código dentro das chaves.
O incremento: Este é o lugar onde a variável incremento é incrementado. Isto normalmente ocorre no final do corpo.
No caso de o programa de factorial, as quatro partes era assim:
int nValue = 1- // o setupwhile (nValue lt; = nTarget) // a expressão de teste {// o bodycout lt; lt; nAccumulator lt; lt; "*" Lt; lt; nValue lt; lt; "Iguais" -nAccumulator = nAccumulator * nValue-cout lt; lt; nAccumulator lt; lt; endl-nValue ++ - // o incremento}
o para circuito incorpora estas quatro partes em uma única estrutura usando a palavra-chave para:
para (incremento de teste setup- expression-) {} corpo-
O fluxo é mostrado graficamente aqui:
Como a CPU entra inocente sobre o para palavra-chave, o controlo é desviada para o configuração cláusula.
Depois que a instalação tiver sido executada, o controle se move para o teste expressão.
(A) Se o expressão de teste é verdade, o controlo passa para o corpo do para loop.
(B) Se o expressão de teste é falso, o controle passa para a próxima instrução após a cinta fechada.
Uma vez que o controle tenha passado através do corpo do laço, a CPU é obrigada a efectuar uma inversão de marcha atrás até a incremento secção do circuito.
Feito isso, o controle retorna ao expressão de teste e de volta para a Etapa 3.
este para circuito é completamente equivalente ao seguinte enquanto loop:
setup-while (expressão de teste) {corpo-increment-}