
//
// 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.
//

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

double* calc(int res_size, int max)
// Wywołujący odpowiada za pamięć przydzieloną res.
{
    double* p = new double[max];
    double* res = new double[res_size];
    // Używa p do obliczenia wyników, które mają zostać zapisane w res.
    delete[] p;    // Nie potrzebujemy już tej pamięci — zwalniamy ją.
    return res;
}

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

int main()
{
    double* r = calc(100,1000);
    // Używa r
    delete[] r;    // Nie potrzebujemy już tej pamięci — zwalniamy ją.
}

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