
//
// To jest przykładowy kod z podrozdziału 17.4.6 „Dealokacja pamięci wolnej” książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

//------------------------------------------------------------------------------

int main()
{
    // Dwukrotne usunięcie tego samego obiektu jest poważnym błędem. Na przykład:

    int* p = new int(5);
    delete p;    // Dobrze: p wskazuje obiekt utworzony przez new.
    // … nigdzie tu p nie jest używany …
    delete p;    // Błąd: p wskazuje pamięć będącą w posiadaniu managera pamięci wolnej.

    {
        int* p = 0;
        delete p;    // Dobrze: nic nie trzeba robić.
        delete p;    // Też dobrze: nadal nic nie trzeba robić.
    }
}

//------------------------------------------------------------------------------
