• xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    53
    ·
    7 months ago

    C++ the good parts exclusively uses on stack allocation and passing by const reference without ever introducing pointers.

    You know this to be true.

      • Dudewitbow@lemmy.zip
        link
        fedilink
        arrow-up
        17
        ·
        7 months ago

        Because its essential for application use where memory management becomes extremely vital, usually due to the rom or memory to be extremely linited in size. Worrying about memory management (something C++ makes mandatory) is something not all programmers need to care about, but having automated memory mangement is also what causes bloat that comes with modern applications, due to bad programming practices of not caring about it.

        • Hazzia@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          7 months ago

          Is it mandatory in C++? I don’t do much with C++ regularly, but I was under the impression that destructors made it so that you wouldn’t have to manually release memory each time an object was destroyed. Or do you mean specifically regarding pointers to those objects needing to be released as well?

          • Dudewitbow@lemmy.zip
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            7 months ago

            When you ever call new/malloc, its mandatory(dynamic allocation). For general programming, the size is usually decided at compilation.

            Yes destructors will unallocate the memory, but the process of writing the destructor is part of the task of memory management

            It becomes madness if you attempt to call dynamic memory outside of a class and its destructor, and hopefully the dev actually remembers to release said memory when their done.

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      7 months ago

      Only integral unsigned numbers, no reference taking at all, no side-effect operators…