You're right about the TIMTOWTDI:
for (;;) { ... }
while (1) { ... }
do { ... } while 1;
do { ... } until 0;
{ ...; redo; }
Everyone chooses their own favorite idiom.
Perhaps the bare-block-with-redo-solution is the "best" one, but it doesn't look clear. Imagine having a 1000 line loop (there's something wrong with the program design if that's the case, but let's forget that) and seeing only { on the top. In that case (imnsho) it's better to use while (1) { ... } or for (;;) { ... }.
(I admit: I made the same mistake.)
By the way, why would you abandon for (;;) { ... }? A C-style for with only ;; can mean only one thing, and that's why i think it's the "best" solution.
In reply to Re: do/redo or for(;;): what's Kosher?
by Juerd
in thread do/redo or for(;;): what's Kosher?
by rje
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |