rule of zero
Let members that manage themselves do the work, and write none of the five.
The rule of zero says a class should hold its resources in RAII members (containers, smart pointers) so that the compiler-generated destructor, copy, and move operations are already correct.
See also