292
Whitespace (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] blackstrat@lemmy.fwgx.uk 59 points 2 years ago

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

[-] Traister101@lemmy.today 6 points 2 years ago* (last edited 2 years ago)

It's part of the type yet it's also a unique identifier. That's the whole thing with east or west const. const int * is a ~~immutable~~ mutable pointer that points to ~~mutable~~ immutable memory. int *const is a ~~mutable~~ immutable pointer that points to ~~immutable~~ memory. int const * is the same type as the first example, a ~~immutable~~ mutable pointer that points to ~~mutable~~ immutable memory.

Same stuff applies to references which makes it easier to think of the variable owning the * or & as if you want that pointer or reference to be const it has to go after.

Edit:I am a moron who managed to get it exactly backwards :|

[-] YaBoyMax@programming.dev 3 points 2 years ago

I think you've got it backwards. I learned to read pointer decls from right-to-left, so const int * is a (mutable) pointer to an int which is const while int *const is a const pointer to a (mutable) int.

[-] Traister101@lemmy.today 2 points 2 years ago

Fuck me man that's what I get for writing that just before bed

load more comments (6 replies)
load more comments (23 replies)
this post was submitted on 02 Feb 2024
292 points (96.8% liked)

Programmer Humor

33298 readers
352 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 3 years ago
MODERATORS