delete p;
p = NULL;

としないと危ないと思われ。