• merthyr1831@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    25 days ago

    I pray for this to be real because it’s the perfect syntactic sugar for C++. The kind that you’d think makes sense if you didn’t have to write C++ for anything more complex than a high school project.

  • Hirom@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    25 days ago

    Rest of the world: We’re deprecating C++ due to lack of memory safety. Please consider doing something for safety.

    C++ commite: Here’s a new convenient operator to make it easier to do a potentially unsafe, multi-level pointer dereference.

  • Blackmist@feddit.uk
    link
    fedilink
    English
    arrow-up
    0
    ·
    25 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?

    • gencha@lemm.ee
      link
      fedilink
      arrow-up
      3
      ·
      19 days ago

      Operator overloading allows you to redefine what each operator does. It’s essential to achieve a truly fucked up code base

    • BradleyUffner@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      25 days ago

      Pointers just point to memory addresses, and because pointers are stored in memory addresses, it just kind of naturally falls out that way.

      • xmunk@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        25 days ago

        In two of your cases this operator is pretty shit because at some point you’ll probably want to offset the access (this isn’t a knock at you but at the feature).

        This operator would only really be relevant to the last case which rarely comes up outside of infrastructure/library work (building a tool building tool) and usually those code bases are cautious to adopt new features too quickly anyways for portability.

        I’ve done serious C++ work (not much in the past decade though) - while references are absolutely amazing and you essentially want to pass by const ref by default I think well written maintainable C++ should maybe have a dozen heap objects tops. C++ is a better language if you generally forget that pointers and bare arrays exist.

        Just again - I think you’re right and the fact that your list is only three things long (and arguably two of them would be misuses) is a pretty clear sign that this is an incredibly niche feature.