Skip to main content
GameDev.net gamedev.net
🔒 Locked

for and while inifite loops

Started by Kalner Dec 28, 2012 at 10:22 PM 4 replies 1.5k views
Original Post
Kalner
Kalner

So I noticed that both for and while loops have a infinite loop option, is there any difference between them?

Cornstalks
Cornstalks

Assuming you mean while (true) vs for (;;) vs do { } while (true), no, there's no technical difference.

However, I've seem some compilers generate a warning* for while (true) and do { } while (true) but not generate a warning for for (;;), in which case for (;;) may be preferred to avoid a warning.
*For example, see this question.

Edit: I just realized this question was tagged Java and was assuming C or C++ when I was talking about the warning stuff. It's the same in Java as it is in C and C++ in that there's no real technical difference between these infinite looping methods, but the compiler warning issue I talked about isn't relevant in Java.

Kalner
Kalner

Thanks

Mussi
Mussi
Didn't know about the compiler warning, nor have I experienced it myself, but that's good to know. I always went with while(true) because for(;;) didn't come naturally to me, but I'll probably switch it up to for(;;) now.
Digivance
Digivance

I don't believe there's any performance difference between any flavors of the infinite loops but my personal preference is always to use a while(someValue == true). This allows for the loop to be cancelled from within itself or from outside of the loop in say another thread.

return0
return0
Threads... be careful with this.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.