Well, there is no garbage collection in C++, so if you overwrite the pointer to something you are responsible for the destruction for, then you lose the possibility of destroying it (since you just overwrote the only pointer to it, without deleting).