infinite loop (tsz. infinite loops)
Egy végtelen ciklus (infinite loop) olyan ciklus, amely soha nem áll meg, mivel a ciklus feltétele mindig igaz. Az ilyen ciklusok akkor fordulnak elő, amikor a ciklus feltétele nem változik, vagy mindig teljesül. A végtelen ciklusok hasznosak lehetnek bizonyos esetekben, például akkor, amikor egy programnak folyamatosan kell figyelnie egy eseményt vagy egy eszközt, amíg manuálisan meg nem állítják.
A while
és a for
ciklusok is könnyen végtelen ciklusként használhatók, ha a ciklus feltétele mindig igaz.
while
ciklus:#include <iostream>
using namespace std;
int main() {
while (true) {
cout << "Ez egy végtelen ciklus!" << endl;
// A ciklus folyamatosan fut, mivel a feltétel mindig igaz (true)
}
return 0;
}
Magyarázat: - A while (true)
mindig igaz, így a ciklus törzse folyamatosan fut. - A ciklus akkor áll le, ha valamilyen külső esemény, például a felhasználó beavatkozása (pl. a program leállítása) történik.
for
ciklus:#include <iostream>
using namespace std;
int main() {
for (;;) {
cout << "Ez egy másik végtelen ciklus!" << endl;
// Mivel nincsenek feltételek, a ciklus soha nem áll meg.
}
return 0;
}
Magyarázat: - A for (;;)
szintaxisban az üres feltételek mindhárom része (kezdet, feltétel, lépés) elhagyható, így a ciklus végtelenül fut, mivel a feltétel nincs megadva (ez alapértelmezetten igaz).
A végtelen ciklusokat manuálisan kell megszakítani. Ehhez többféle módot használhatunk: - Ctrl + C: A konzolban történő leállítás (parancssori programoknál). - break
utasítás: Ha valamilyen feltétel szerint szeretnénk kilépni a ciklusból, használhatjuk a break
utasítást.
break
utasítással:#include <iostream>
using namespace std;
int main() {
int i = 1;
while (true) {
cout << "Ez a " << i << ". iteráció." << endl;
i++;
if (i > 5) {
break; // Kilépés a ciklusból, ha i eléri az 5-öt
}
}
cout << "A ciklus véget ért." << endl;
return 0;
}
Magyarázat: - A ciklus a while (true)
segítségével végtelenül fut, de a break
utasítás leállítja a ciklust, amikor i
értéke nagyobb, mint 5.
A végtelen ciklusokat gyakran akkor használják, ha például egy folyamatosan működő programot (pl. egy szervert) kell létrehozni, de mindig ügyeljünk arra, hogy a ciklusnak legyen olyan mechanizmusa, amely biztosítja a leállítást vagy kilépést, hogy elkerüljük a program végtelen futását.