• Blackmist
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    6 days ago

    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?

    • Morphit
      link
      fedilink
      arrow-up
      11
      ·
      6 days ago

      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.

    • skulbuny@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 days ago

      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