this post was submitted on 02 Feb 2024
295 points (96.8% liked)

Programmer Humor

19512 readers
338 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

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 58 points 9 months ago (26 children)

The fact it's a pointer is part of the type, not part of the variable name. So int* p is the way.

[–] [email protected] 87 points 9 months ago* (last edited 9 months ago) (6 children)

You would think so, but int* a, b is actually eqivalent to int* a; int b, so the asterisk actually does go with the name. Writing int* a, *b is inconsistent, so int *a, *b is the way to go.

[–] [email protected] 56 points 9 months ago

Yeah, and I'd say that's a design flaw of the language as it is unintuitive behaviour.

[–] [email protected] 38 points 9 months ago (1 children)

When people say “pointers are hard”, they mean “I have no idea where the star goes and now an ampersand is also implicated”.

[–] [email protected] 24 points 9 months ago (1 children)

That's the part where you give up and randomly shove/unshove symbols in until the code works.

[–] [email protected] 5 points 9 months ago

I've definitely never been guilty of this. /s

[–] [email protected] 25 points 9 months ago

While technically true, that's also one of the worst 'features' of the language and I personally consider it a bug in the language. Use two lines and make it clear and correct.

[–] [email protected] 15 points 9 months ago

Don't declare more than 1 pointer per line. This resolves that, badly.

[–] [email protected] 8 points 9 months ago

Alright, I'll never, ever write something this way now. Good to know.

[–] [email protected] 4 points 9 months ago

This is true in C, but not in D.

load more comments (19 replies)