Ja osobiście uważam, że jeśli tworzysz konstruktor, to powinieneś od razu stworzyć destruktor. Jakoś nie mam zaufania do wbudowanych rozwiązań określonych języków, które są podobne do działaniu do Garbage Collectorów w Javie. Ktoś, kto pracował w C++ i przydzielał dynamicznie pamięć wie o czym mówię. Pamięć może szybko "wycieknąć". To nie jest kwestia "może, ale nie musi być", tylko swego rodzaju niechlujstwa, choć może bardziej by pasowało "nadmiernego zaufania do języka". Większość dobrych nawyków programowania C++ potrafił mnie nauczyć, bo jest pod tym względem niezbyt litościwy

Po przejściu "podstaw szkoły C++" człowiek zaczyna nawet w bardzo przyjaznych językach zwracać uwagę na drobiazgi, które inne języki, takie jak PHP akceptują i wyręczają nas w tym częściowo. Choćby w PHP używanie mysql_close() czy mysql_free_result() są takimi "archaizmami", które wiele osób odpuszcza, bo wie, że i tak zasoby będą zwrócone po wykonaniu skryptu. Szkoda tylko, że część osób nie wie, że owe rozwiązania też mają czasem problemy i pamiętam jak na studiach się dziwiłem błędami pisząc w Javie, gdy po zakończeniu miałem błędy. GC Javowski po prostu miał problem ze zwróceniem do systemu dynamicznie przydzielonej pamięci. Od tamtego czasu jego (GC) kod poprawili i coraz rzadziej to się ludziom zdarza, ale zapewne wciąż nie jest rozwiązane idealnie. Stąd to programista powinien dbać o pamięć i nie zdawać się na wbudowane narzędzia.
Osoby tworzące kod bez dbania o destruktory same proszą się o problemy w przyszłości. Nie po to owe metody powstały by były sztuką dla sztuki. Są w określonym celu i należy o nich pamiętać. Oczywiście zwracanie do systemu pamięci rezerwowanej przez typy proste jest już przegięciem w drugą stronę. Wszystko z głową należy robić.
Jednym zdaniem: "Jeśli gdzieś definiujesz w programowaniu obiektowym konstruktor, destruktor też od razu napisz, a unikniesz problemow na przyszłość."
@bottom: (To Mike): Bo kilka lat w poprawianiu kodu GC w Javie zrobiło swoje

Gdy na studiach pisałem w nim kod to gubił z pamięci nie kB, ale MB pamięci bardzo szybko, a soft był odpalany nie przez minutę ale chodził nieraz godzinami odpalając się w wielu wątkach

Pamięc tak dostawała w czapę, że trochę pochodził i się wysypywał bez ostrzeżeń

GC tylko częściowo sobie z tym problemem radził bo usuwał zmienne obiektu dla niego widoczne, ale "gubił", tę część pamięci którą gdzieś mu dynamicznie przydzielałem

Czasem ją przechwycił, czasem nie i stąd trudno się z początku było połapać co jest nie tak. Stąd teraz byle pierdółkami się przejmuję, by takiego szukania w pozornie bezbłędnym kodzie unikać. Bo przecież pod względem języka jest on poprawny, co tylko bardziej irytuje przy ego wyłapywaniu. Wiesz, że coś nie działa, ale nie można ściśle określić miejsca problemu na pierwszy rzut oka.
@bottom: (To darko): Postaram się takie zwięzłe streszczenia pisać, choć nie zawsze jest to możliwe z racji opisywanego zagadnienia czy problemu.