• P1r4nha@feddit.de
    link
    fedilink
    arrow-up
    30
    ·
    9 months ago

    Horrible code. First, it doesn’t compile because there’s no ; at the end of the class definition.

    And then more importantly you have a private destructor which means this CriminalScum’s destructor will never be called, so you can’t charge it with distruction either. Or are you telling me this CriminalScum has friends?

    • aggelalex@lemmy.worldOP
      link
      fedilink
      arrow-up
      16
      ·
      edit-2
      9 months ago

      There’s always an accomplice in crime.

      Also, tall order to expect me to run and test a code written only for a shitpost.

    • observantTrapezium@lemmy.ca
      link
      fedilink
      arrow-up
      7
      ·
      9 months ago

      Also, if I’m not mistaken the uninitialized prop is not guaranteed to be nullptr here, so this private destructor could be trying to free from some random pointer.

        • P1r4nha@feddit.de
          link
          fedilink
          arrow-up
          6
          ·
          9 months ago

          Yep, variables that are merely declared are not initialized, so their value is not guaranteed. Could be anything.

          • waz@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            9 months ago

            Correct me if I’m wrong, but I’m pretty sure some compiler settings can change this. I have a fuzzy memory of a bug that went away when compiled with debug flags enabled and the difference was that unassigned variables were being zeroed vs not zeroed.

            • P1r4nha@feddit.de
              link
              fedilink
              arrow-up
              2
              ·
              9 months ago

              Yes, actually at my job a co-worker just found exactly such a bug yesterday: Debug build zeroed out the variable and the release build didn’t. So the bug only occurred in the release build, but could not be reproduced on the debug build where the developers work on. So in the end he found it because of the different compiler flags used for debug vs release builds at our work place.