Pointer is a treasure map. If you do not get the treasure (properly delete object) and then destroy map (assign null pointer to it) or redraw it (assign another pointer to it), you will never be able to get that treasure (as you do not have a map and have no idea where treasure is)
there when x = nullptr it means it doesnt exist anymore?
No, it means that it does not point to anything. Object it was pointing before are bot affected. Pointer is a piece of paper with address on it. You can erase it, rewrite it, do anything with it, but actual building will be unaffected by this.
Nil is for pseudocode , null or NULL refer to a pointer but you can use nullptr in c++ as well since zero is aldo use for declaring pure virtual methods. How does heap management work, big question.