Dinamička alokacija memorije - pitanje

Dinamička alokacija memorije - pitanje

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Sad baš obrađujem ovu lekciju u C++ i pokušavam nešto.

#include<iostream> int main() {    int iVelicinaNiza;    std::cout << "Koliko celobrojnih vrednosti moze biti ubaceno?" << std::endl;    std::cin >> iVelicinaNiza;    int* iIntNiz = new int[iVelicinaNiza];    for (int iIndex = 0; iIndex < iVelicinaNiza; ++iIndex) {       std::cout << " Upisite celobrojnu vrednost #" << iIndex << ": ";       std::cin >> iIntNiz[iIndex];    }    for (int iIndex = 0; iIndex < iVelicinaNiza; ++iIndex) {       std::cout << iIntNiz[iIndex] << "   ";    }    std::cout << std::endl;    delete [] iIntNiz;    std::cout << iIntNiz << std::endl;    return 0; }

Ako ne razumete o čemu se radi evo i slike:



Dakle , ova funkcija delete bi trebalo da obriše sadržaj niza iIntNiz, i uspelo je, ali se nakon toga pojavi ova memorijska lokacija na kraju prozora. Sad je moje pitanje da li je to adresa tog pointera ili nešto drugo? To pitam zato što mi se stalno pojavljuje neka druga vrednost.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

To je adresa gde pokazuje. Generalno posle delete-a bi trebalo postaviti pokazivac na 0.
Imas jedan od Filozofovih clankova gde je lepo objasnio pokazivace.



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Ne znam onda zašto nije tako. Ja sam pomislio da to delete briše pokazivač iz memorije Mr. Green

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Ne brise se pokazivac, "brise" se (oslobadja) prostor na koji pokazuje taj pokazivac. Sam pokazivac je na drugom memorijskom mestu, ako mozes to da zamislis?

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Razumem Smile

offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

Baci pogled:
http://www.mycity.rs/C/Analiza-situacije-Stomping-on-a-C-pointer.html

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Razumem sad, pointer je ostao da pokazuje na tu memorijsku lokaciju. Dakle divlji pointer. OK, hvala vam na odgovoru Ziveli

Ko je trenutno na forumu
 

Ukupno su 892 korisnika na forumu :: 8 registrovanih, 0 sakrivenih i 884 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Boris90, Dorcolac, goxin, Koridor, Metanoja, Milos82, TBF1D