O comando for de C++ nos permite declarar um loop infinito sem utilizar seus campos de
iniciação, comparação e incremento. Isso é mostra na sintaxe abaixo:
Sintaxe
for(; ; )
{
//código
}
Exemplo 9
#include <iostream>
using namespace std;
int main ()
{
int cont = 0;
cout << "inicio_loop" << endl;
for( ; ; )
{
//sair do loop
if (cont >= 5)
break;
cout << "loop " << cont + 1 << endl ;
cont++;
}
cout << "fim_loop" << endl;
}
Saída
inicio_loop
loop 01
loop 02
loop 03
loop 04
loop 05
fim_loop
Fazendo uso do comando goto, o for acima pode ser rescrito escrita como no exemplo
abaixo:
Exemplo 10
#include <iostream>
using namespace std;
int main ()
{
int cont = 0;
cout << "inicio_loop" << endl;
inicio_loop:
//sair do loop
if (cont >= 5)
goto fim_loop;
cout << "loop " << cont + 1 << endl ;
cont++;
goto inicio_loop;
fim_loop:
cout << "fim_loop" << endl;
}
Saída
inicio_loop
loop 01
loop 02
loop 03
loop 04
loop 05
fim_loop
Os loops infinitos podem também ser feitos como os comandos while e do-while.
Esses comandos não permitem que o campo em que a uma expressão de validação fique vazia. Assim,
temos que utilizar um valor bool true ou false, por exemplo:
Sintaxe
while(true)
{
//corpo
}
Sintaxe
do
{
//corpo
}while(true);
Exemplo 11
#include <iostream>
using namespace std;
int main ()
{
int cont = 0;
cout << "inicio_loop" << endl;
while(true)
{
//sair do loop
if (cont >= 5)
break;
cout << "loop " << cont + 1 << endl ;
cont++;
}
cout << "fim_loop" << endl;
}
Saída
inicio_loop
loop 01
loop 02
loop 03
loop 04
loop 05
fim_loop
Exemplo 12
#include
using namespace std;
int main ()
{
int cont = 0;
cout << "inicio_loop" << endl;
do
{
//sair do loop
if (cont >= 5)
break;
cout << "loop " << cont + 1 << endl ;
cont++;
}while(true);
cout << "fim_loop" << endl;
}
Saída
inicio_loop
loop 01
loop 02
loop 03
loop 04
loop 05
fim_loop