delete p;
とした後のpの値は不定ですか?それとも以前のアドレスが入ったままなのでしょうか