this post was submitted on 04 Feb 2025
133 points (95.2% liked)
Programmer Humor
20305 readers
746 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
ELI5 plz
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
They used a macro to make 'IF' (which is distinctly not 'if') map to 'while'. So it's really a while(1) loop, which will repeat forever, or until the program is terminated, whichever comes first.
Someone's just being silly.
Thx!
Is this something needed "for the meme" or something with this macro or C/C++? Or why the case-sensitivity here? I only know languages like Java, Python, JS. Unfortunately the ancient tongue is not known to me.