clear smart pointers by "pointer_var.reset()" instead of "pointer_var = nullptr"
When accidentally using "pointer_var = nullptr" on a regular pointer while assuming that it is a smart pointer, the programming error would go undetected and result in a memory leak while "pointer_var.reset()" causes a compile error.
Edited by Jan Lepper