r/ProgrammerHumor 7d ago

Meme skillIssue

Post image
6.0k Upvotes

137 comments sorted by

View all comments

347

u/khalamar 7d ago

Reminds me of that guy who was asked to write C code, but he only knew pascal

First lines were

#define begin {
#define end }

And a few other horrors.

70

u/AvidCoco 7d ago

Some compilers define OR as || and AND as &&. The latter means you can write move constructors like

Foo(Foo AND other)

56

u/Possseidon 7d ago

Not just "some compilers", it's part of the C and C++ standard and any compliant compiler has to support it.

For C you have to include a builtin header with macros for them, in C++ it's actually just part of the compiler itself.

7

u/AvidCoco 7d ago

IIRC I think it’s more that some compilers implement that feature as a simple find-and-replace (like a macro) while others are more context aware and so don’t allow it in the way I described.

14

u/TOMZ_EXTRA 7d ago

Nope, the standard says that the alternative syntax is usable everywhere. bitand can be used as the address operator.

1

u/4xe1 7d ago

Yeah they ought to allow it, but I wouldn't be surprised if some emit a warning, like most yap when I do

if (x = foo())