Statements that start with # in C/C++ are known as preprocessor directives, that is, they are executed before compilation begins. OP has used a #define which will replace any instance of A (IF(x)) with B (while (x)) in the code.
So the IF statement is really just a while statement.
Statements that start with # in C/C++ are known as preprocessor directives, that is, they are executed before compilation begins. OP has used a
#define
which will replace any instance of A (IF(x)
) with B (while (x)
) in the code.So the
IF
statement is really just awhile
statement.But what is it in reference to? What’s the “infamous if loop”?
Ah, I believe that would be
from a college course.
I always wondered why I always had a hard time making developers not call “if” a “loop”.
Turns out it was on their tests.
Glad I didn’t read my college material, or I would have lost faith in my college professors.
It just occurred to that in Yorkshire dialect a while loop would actually be an until loop. Directives to the rescue!
“Infamous” just refers to newbies who sometimes call if statements “if loops”. I’ve heard this quite a bit.
Infamous because the condition is 1 (or true), the loop never actually exits because it’s always true