If you are developing a library, engine, etc, you need to make sure that your users won't use your API interface incorrectly by making it HARD to use it incorrectly.
Did you know that unlike other languages, C++ can decide the evaluation order of function parameters? Not being aware of this feature may produce memory leaks.
As a developer, you need to properly manage resources to avoid any memory leaks. Managing resources manually is not a good idea. Scott Meyers provides several tips to help you manage resources more efficiently.