Article View: pl.comp.objects
Article #5441po co mi wlasciwie garbage collector?
From: Dariusz Slusarczyk
Date: Thu, 29 Apr 1999 04:52
Date: Thu, 29 Apr 1999 04:52
46 lines
2439 bytes
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.plShow 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