5 ms·
Note that compilers are more than happy to delete 'while (true)' if the loop doesn't have side-effects.
by cmovq 2mo ago
Note that compilers are more than happy to delete 'while (true)' if the loop doesn't have side-effects.
- mort96 2mo agoOf course. I wasn't talking about empty loops. But also, I wouldn't rely on a compiler to remove empty 'while (true)' loops.
- mpyne 2mo agoI think this is no longer true. C++26 implemented a change to make trivial loops like these defined behavior (and therefore will loop endlessly as you'd expect). And this example was always defined behavior in C. Both languages continue to have examples of slightly more complicated loops that can be assumed to terminate in the absence of side effects, but `while(true)` isn't one of those any longer.