Cerca nel blog

martedì 14 ottobre 2014

Puntatori: new e delete

La funzione new ha due scopi il primo trovare un indirizzo vailido da asseganare al puntatore la seconda è restituirlo al puntatore; gli indirizzi validi sono contenuti nell' heap, è molto importante poichè se non viene usato un indirizzo valido c' è il rischio di sovrascrivere aree di memoria utilizzate da altri programmi ( compreso il sistema operativo) portanto ad errori che possono anche bloccare l' intero sistema, l' heap ha un limitato numero di indirizzi e nel caso finiscano si incorre nell' overflow, per evitare quest' ultimo alla new,che crea, è associata la delete che libererà l' area di memoria.
es:
main()
{
        int*p;
        cout<<p;
        p= new int;
        cout<<p;
        delete p;
}
provand ad eseguire l' esempio si noterà che l' indirizzo contenuto in p dopo la new sarà diverso dal primo.

Nessun commento:

Posta un commento