Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
It’s part of the type yet it’s also a unique identifier. That’s the whole thing with east or west const. constint * is a immutable mutable pointer that points to mutable immutable memory. int *const is a mutable immutable pointer that points to immutable memory. intconst * 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 :|
I wrote a couple unholy lines of C++ the other day using the ternary conditional operator to select a class member function to be called with a fixed argument.
I think my teammates were too scared to call me out on it.
I think you’ve got it backwards. I learned to read pointer decls from right-to-left, so constint * is a (mutable) pointer to an int which is const while int *const is a const pointer to a (mutable) int.
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 aimmutablemutable pointer that points tomutableimmutable memory.int *const
is amutableimmutable pointer that points toimmutablememory.int const *
is the same type as the first example, aimmutablemutable pointer that points tomutableimmutable 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 beconst
it has to go after.Edit:I am a moron who managed to get it exactly backwards :|
Found the guy that can probably do function pointers!
I wrote a couple unholy lines of C++ the other day using the ternary conditional operator to select a class member function to be called with a fixed argument.
I think my teammates were too scared to call me out on it.
KISS, my guy.
It’s actually simpler than doing it the “right” way, but I wanted to see how much I could make C++ pretend it was Python.
Lol yeah. I don’t even really write C++ but I sure as shit know a bunch of syntax and junk haha
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 whileint *const
is a const pointer to a (mutable) int.Fuck me man that’s what I get for writing that just before bed
I always read it right to left and it seems to make sense to me.