Wiele obiektów nie musi mieć wcale destruktora, jeżeli nie wymagają innych czynności poza zwolnieniem zajmowanej przez siebie pamięci; takie obiekty nazywamy trywialnie-destruowalnymi (ang. trivially-destructible). W takiej sytuacji wykorzystywany jest destruktor domyślny, tworzony automatycznie przez kompilator języka.
Istnienie destruktora i jego konstrukcja zależy od użytego języka programowania. Choć w każdym języku obiekt musi być zniszczony pod koniec swojego istnienia, nie zawsze jest to oczywiste lub widoczne dla programisty: w niektórych językach istnieje mechanizm rozpoznawania, czy obiekt jest używany, a program automatycznie usuwa obiekty, których nie używa żaden inny obiekt. Tak nie jest np. w C++, ze względu na konieczność „ręcznego” zarządzania pamięcią, większość nietrywialnych klas musi mieć jawne destruktory. Dla kontrastu, w Pythonie, gdzie normalnie nigdy nie ma miejsca jawny przydział zasobów, destruktory są rzadkością; można stworzyć nawet bardzo rozbudowane hierarchie klas bez napisania jednego destruktora.