It is always safe to delete a null pointer in C++