...
This compliant solution complies with VOID MEM34MEM31-CPP. Only free memory allocated dynamicallyProperly deallocate dynamically allocated resources, however, while handling resource cleanup in catch clauses does work, it can have several disadvantages:
...
CERT C++ Coding Standard | MEM32-CPP. Detect and handle memory allocation errors VOID MEM34MEM31-CPP. Only free memory allocated dynamicallyProperly deallocate dynamically allocated resources |
Bibliography
[ISO/IEC 14882-2014] | 15.2, "Constructors and Destructors" |
[Meyers 96] | Item 9: "Use destructors to prevent resource leaks". |
[Stroustrup 2001] | "Exception-Safe Implementation Techniques" |
[Cline 2009] | 17.2, "I'm still not convinced: a 4-line code snippet shows that return-codes aren't any worse than exceptions; |
...