...
When manually managing the lifetime of an object, the constructor must be called to initiate the lifetime of the object. Similarly, the destructor must be called to terminate the lifetime of the object. Use of an object outside of its lifetime may result in undefined behavior. The constructor for an object may be called explicitly by An object can be constructed either by calling the constructor explicitly using the placement new operator or by calling the construct()
function of an allocator object. The destructor for an object may be called An object can be destroyed either by calling the destructor explicitly or by calling the the destroy()
function of an allocator object.
...
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
SEI CERT C++ Coding Standard | MEM51-CPP. Properly deallocate dynamically allocated resources |
...