I honestly don’t know why they even have -> instead of just a dot like everyone else. The compiler knows whether it’s a record, object, pointer, or any level of pointer to pointers.
It’s important for objects that can be dereferenced. Smart pointers have methods that can be accessed with dot syntax like swap(). You can still dereference through a smart pointer using arrow syntax to access methods on the referenced type since they overload the operator->() method.
I love the arrow in functional programming. Some functional languages (like reasonml) has multiple arrow operators that did different things like this one -> would put the argument in the first position (a popular JS pattern) and the big arrow |> would put it last like most functional languages.
I know this is about CPP but honestly I love the way it looks, but I’m a weirdo lol
I honestly don’t know why they even have -> instead of just a dot like everyone else. The compiler knows whether it’s a record, object, pointer, or any level of pointer to pointers.
Why make the programmer do the donkey work?
It’s important for objects that can be dereferenced. Smart pointers have methods that can be accessed with dot syntax like
swap()
. You can still dereference through a smart pointer using arrow syntax to access methods on the referenced type since they overload theoperator->()
method.I love the arrow in functional programming. Some functional languages (like reasonml) has multiple arrow operators that did different things like this one -> would put the argument in the first position (a popular JS pattern) and the big arrow |> would put it last like most functional languages.
I know this is about CPP but honestly I love the way it looks, but I’m a weirdo lol