Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 4.008 pregleda

Najnovija ↓

pitanje u vezi operatora delete 07.06.2004. u 14:01 · pre 272 meseca #1
kratko pitanjce:

Da li je potrebno oslobadjati resurse sa delete i kada se ne definise pointer sa new kao npr.

char *pIme = "Moje Ime";

ili se automatski oslobadja kad izadje iz scope-a

Hvala!
Potpis
She's nice from a far, but far from nice.
Re: pitanje u vezi operatora delete 07.06.2004. u 14:21 · pre 272 meseca #2
Jap,
moras brisati sa delete svaku alokaciju koju si uradio sa new. Ako ne zelis mozes probati sa auto_ptr templateom (mislim da se nalazi u include fajlu <autoptr>):

Code:

class MojaKlasa
{
  // nesto
};

void foo() 
{
auto_ptr<MojaKlasa> a(new MojaKlasa);
     // radis sa a kao instancom klase MojaKlasa i nije potrebno
     // ali nije potrebno da brises memoriju
}


Bolje ti je da radis sa new i delete jer auto_ptr ima mnogo restrikcija koje moras paziti.
Potpis
http://www.maspic.netfirms.com/
Re: pitanje u vezi operatora delete 07.06.2004. u 14:30 · pre 272 meseca #3
Kompajler ce alocirati prostor unutar Static Storage Area za string "Moje Ime" \0, i automatski ce osloboditi ovaj prostor.
new i delete se koriste za dinamicku alokaciju prostora u Heap-u. Posto nisi koristio new za alokaciju prostora, delete nije dozvoljeno koristiti.
Static Storage Area je blok memorije fiksne velicine, alocira se pri startu programa a oslobadja se na zavrsetku rada programa. Znaci, kada napustis scope, prostor se ne oslobadja sve dok je program aktivan.
Potpis
O_o
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme