• Dudewitbow@lemmy.zip
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    1 year 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
      ·
      1 year 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
        1
        ·
        edit-2
        1 year 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.