🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #5441

po co mi wlasciwie garbage collector?

#5441
From: Dariusz Slusarczyk
Date: Thu, 29 Apr 1999 04:52
46 lines
2439 bytes
zainspirowany lektura Meyers'a i Stroustrup'a zaimplementowalem sobie
ostatnio klase CArray2D<T>, ktora umozliwia latwe [wg mnie :)] tworzenie
tablic 2D o dowolnych zakresach, np. -1..2,-3..4
[ci co pamietaja dyskusje moja z Panem AK dotyczaca indexowania takich
tablic w C zapewne wiedza, ze odbywa sie to ZEROWYM kosztem poza paroma
sztuczkami na wskaznikach w momencie inicjowania tablicy]

jednak nie w tym rzecz, po wykonaniu kawalka kodu w tym stylu

CArray2D<int>array(-1,2,-3,4); //tablica -1..2,-3..4
for(int i=-1;i<=2;i++)
 for(int j=3;j<=4;j++)
  array[i][j]=i*100+j;
..
array(4,9)(-8,-5); //przepotwarzamy array w tablice 4..9,-8..-5
..
array(5)(-11,6); //przepotwarzamy array w tablice 0..4,-11..6
..
array(5,8)(6); //przepotwarzamy array w tablice 5..8,0..5
..
itd
program sie skonczyl i wtedy VC wypisal mi
Detected memory leaks!
po czym poszly adresy + zrzuty blokow pamieci, ktore zostaly zaalokowane
a ktorych nie zwolniono [przy niektorych nawet konkretne numery linii w
konkretnych zrodlach gdzie alokacja pamieci miala miejsce]
likwidacja leaks'ow [czy jak kto woli przeciekow pamieci] zakonczyla sie
sukcesem w czasie zmierzajacym do zera :)
pomyslalem sobie wtedy do czego tak naprawde moglby mi sie przydac
odsmiecacz w C++ skoro sam dbam o odpowiednia gospodarke pamiecia a
nawet jesli cos by mi sie wymknelo to i tak VC by to wykryl

no chyba, ze gc maja jakies inne cenne zalety, o ktorych nie dane mi
bylo sie jeszcze dowiedziec

poza tym jest jeszcze auto_ptr, ktory zawsze moge wykorzystac gdy w
jakiejs metodzie przydzielam przez new pamiec zmiennym lokalnym,
wtedy moge rzucac wyjatkami na lewo i prawo tudziez "return'owac" w
dowolnym miejscu nie martwiONc sie o wywolania delete i bez obawy, ze
gdzies mi 'wetnie' ten kawalek pamieci 

-- 
marines()
{ 
 return Dariusz_Slusarczyk; 
}
Technical Details
Message-ID: <3727DF43.7FBCE861@zeus.polsl.gliwice.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!ict.pwr.wroc.pl!m2n-gate.okapi.usenet.pl

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!ict.pwr.wroc.pl!m2n-gate.okapi.usenet.pl
From: marines@zeus.polsl.gliwice.pl (Dariusz Slusarczyk)
Newsgroups: pl.comp.objects
Subject: po co mi wlasciwie garbage collector?
Message-ID: <3727DF43.7FBCE861@zeus.polsl.gliwice.pl>
Date: 29 Apr 99 04:52:38 GMT
Sender: objects@sprocket.ict.pwr.wroc.pl
Organization: Lista dyskusyjna objects@sprocket.ict.pwr.wroc.pl
Lines: 47
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit