Bucles infinitos
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 49 de 74.
Un bucle infinito es un bucle que nunca se detiene porque su condición siempre es verdadera, o no hay una condición para detenerlo. Aunque a veces son útiles, a menudo provocan que los programas se bloqueen o se cierren inesperadamente. Es como un perro persiguiendo su cola para siempre: simplemente sigue y sigue sin fin.
Aquí tienes un ejemplo sencillo de un bucle infinito usando un bucle while:
while (true) {
std::cout << "This will print forever!" << std::endl;
}En este caso, la condición es siempre true, por lo que el bucle se ejecutará indefinidamente.
También puedes crear un bucle infinito con un bucle for omitiendo la condición:
for (;;) {
std::cout << "This will also print forever!" << std::endl;
}Aquí, no hay ninguna condición que comprobar, por lo que el bucle no tiene motivo para detenerse.
Los bucles infinitos pueden ser útiles en algunos casos, como en los servidores que necesitan seguir funcionando hasta que se detengan manualmente. Sin embargo, en la mayoría de los casos, son problemáticos. Para detener un bucle infinito, normalmente tienes que forzar el cierre del programa (por ejemplo, presionando Ctrl+C en la terminal).
Hoja de referencia
Un bucle infinito es un bucle que nunca se detiene porque su condición siempre es verdadera o no hay una condición para detenerlo.
Bucle infinito con while:
while (true) {
std::cout << "This will print forever!" << std::endl;
}Bucle infinito con for (sin condición):
for (;;) {
std::cout << "This will also print forever!" << std::endl;
}Para detener un bucle infinito, fuerce la salida del programa (por ejemplo, Ctrl+C en la terminal).
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados