dunque ... il fatto è che viene deallocata (liberata) la parte di memoria puntata da p e non p come puntatore.

esempio:

p->[dati] p punta ad un area di memoria

delete p;

p->XXX p punta alla stessa area di memoria ma che adesso è "segnata" come libera.

è possibile usare ancora p per "puntare" ma se cerco di leggere o scrivere l'area di memoria puntata
da p avro un null pointer error (o come cavolo si chiama :-) )

ciao!!!