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.
C++ does not like destructors that emit exceptions. Therefore, make sure that in your design, your destructors never emit exceptions and if possible make sure that another non-destructive method takes care of handling any exceptions throw.
In C++ make sure to always copy all of your data members in the copy constructor and copy assignment. If you have derived classes, make sure to invoke your base class copy constructor.