• @sweng@programming.dev
    link
    fedilink
    86
    edit-2
    5 months ago

    You would think so, but int* a, b is actually eqivalent to int* a; int b, so the asterisk actually does go with the name. Writing int* a, *b is inconsistent, so int *a, *b is the way to go.

    • @newH0pe@feddit.de
      link
      fedilink
      565 months ago

      Yeah, and I’d say that’s a design flaw of the language as it is unintuitive behaviour.

    • @Slotos@feddit.nl
      link
      fedilink
      385 months ago

      When people say “pointers are hard”, they mean “I have no idea where the star goes and now an ampersand is also implicated”.

      • @T156@lemmy.world
        link
        fedilink
        English
        245 months ago

        That’s the part where you give up and randomly shove/unshove symbols in until the code works.

        • @CanadaPlus
          link
          English
          55 months ago

          I’ve definitely never been guilty of this. /s

    • @blackstrat@lemmy.fwgx.uk
      link
      fedilink
      255 months ago

      While technically true, that’s also one of the worst ‘features’ of the language and I personally consider it a bug in the language. Use two lines and make it clear and correct.

    • @CanadaPlus
      link
      English
      85 months ago

      Alright, I’ll never, ever write something this way now. Good to know.

    • ono
      link
      fedilink
      English
      45 months ago

      This is true in C, but not in D.