Why manual memory management?
The advantages of manual memory management are mainly that you can specialize memory management specifically for your application, which makes it optimal and makes it "easy" to optimize (for size and speed).
Automatic memory management is useful when it's not necessary, and even C ++ comments on the fact that (there are plans to add an extra garbage collector in C ++), but sometimes you really need to control what goes on behind the scenes because you have more view kind of application than any compiler or garbage collector.
The choice between both is certainly very powerful, but not available in most languages.
a source to share
For real-time systems, garbage collection can adversely affect the responsiveness of a program. Weir and Noble discuss some of these issues in their book Small Memory Software, and you can read about them at the end of this section of their book. In many cases, programmers simply choose their own memory management routines that solve these problems.
a source to share