Resource management
R.15
Always overload matched allocation/deallocation pairs
Reason
Otherwise you get mismatched operations and chaos.
Example
class X {
// ...
void* operator new(size_t s);
void operator delete(void*);
// ...
};
Note
If you want memory that cannot be deallocated, =delete the deallocation operation. Don't leave it undeclared.
Enforcement
Flag incomplete pairs.