
//
// To jest przykładowy kod z podrozdziału 18.2.3 „Terminologia związana z kopiowaniem” książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

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

int main()
{
    // Przykład kopiowania płytkiego.
    {
        int* p = new int(77);
        int* q = p;           // Kopiuje wskaźnik p.
        *p = 88;    // Zmienia wartość liczby typu int wskazywanej przez wskaźniki p i q.
    }

    // Przykład kopiowania głębokiego:
    {
        int* p = new int(77);
        int* q = new int(*p); // Alokuje nowy obiekt typu int i kopiuje do niego wartość wskazywaną przez p.
        *p = 88;              // Zmienia wartość obiektu typu int wskazywanego przez p.
    }
}

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