 
                            ...
| [ISO/IEC 14882-2014] | 17.6.3.1, "Template Argument Requirements" | 
| [Henricson 97] | Rule 5.12, "Copy assignment operators should be protected from doing destructive actions if an object is assigned to itself" | 
| [Meyers 05] | Item 11, "Handle assignment to self in operator=" | 
MEM41-CPP. Declare a copy constructor, a copy assignment operator, and a destructor in a class that manages resources 008. Memory Management (MEM) ERR40-CPP. Do not leak resources when handling exceptions
...