Pytania oznaczone «destructor»

594
Czy istnieje Java Destruktor?

Czy istnieje Java Destruktor? Wydaje mi się, że nie jestem w stanie znaleźć żadnej dokumentacji na ten temat. Jeśli nie, to jak mogę osiągnąć ten sam efekt? Aby uściślić moje pytanie, piszę aplikację, która zajmuje się danymi, a specyfikacja mówi, że powinien istnieć przycisk „reset”, który...

461
Jak poprawnie wyczyścić obiekt Python?

class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)powyżej kończy się niepowodzeniem z wyjątkiem wyjątku AttributeError. Rozumiem, że Python nie gwarantuje istnienia „zmiennych globalnych” (danych członka w tym...

350
Czy muszę jawnie wywoływać podstawowy wirtualny destruktor?

Podczas nadpisywania klasy w C ++ (za pomocą wirtualnego destruktora) implementuję ponownie destruktor jako wirtualny w klasie dziedziczącej, ale czy muszę wywoływać podstawowy destruktor? Jeśli tak, to wyobrażam sobie, że to coś takiego ... MyChildClass::~MyChildClass() // virtual in header {...

257
wyrzucanie wyjątków z destruktora

Większość ludzi twierdzi, że nigdy nie wyrzucaj wyjątków z destruktora - powoduje to nieokreślone zachowanie. Stroustrup podkreśla, że „wektor destruktora jawnie przywołuje destruktor dla każdego elementu. Oznacza to, że jeśli rzuca element destruktor, zniszczenie wektora nie powiedzie się ......

154
Po co nam czysty wirtualny destruktor w C ++?

Rozumiem potrzebę posiadania wirtualnego destruktora. Ale dlaczego potrzebujemy czystego wirtualnego destruktora? W jednym z artykułów C ++ autor wspomniał, że używamy czystego wirtualnego destruktora, gdy chcemy stworzyć abstrakcję klasy. Ale możemy uczynić klasę abstrakcyjną, sprawiając, że...

120
Jak zniszczyć przedmiot?

O ile wiem (a to bardzo mało), istnieją dwa sposoby: $var = new object() Następnie: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); Inna lepsza metoda? Czy ja tu rozdzielam

118
Kiedy wywoływany jest destruktor C ++?

Podstawowe pytanie: kiedy program wywołuje metodę destruktora klasy w C ++? Powiedziano mi, że jest wywoływana za każdym razem, gdy obiekt wychodzi poza zakres lub jest poddawany działaniudelete Bardziej szczegółowe pytania: 1) Jeśli obiekt jest tworzony za pomocą wskaźnika i ten wskaźnik jest...

90
GNU GCC (g ++): Dlaczego generuje wielu lekarzy?

Środowisko programistyczne: GNU GCC (g ++) 4.1.2 Podczas gdy próbuję zbadać, jak zwiększyć `` pokrycie kodu - szczególnie pokrycie funkcji '' w testach jednostkowych, odkryłem, że niektóre klasy dtor wydają się być generowane wiele razy. Czy ktoś z was ma pojęcie, dlaczego,...

89
magia shared_ptr :)

Pan Lidström i ja pokłóciliśmy się :) Pan Lidström twierdzi, że konstrukcja shared_ptr<Base> p(new Derived);nie wymaga, aby Base miał wirtualnego destruktora: Armen Tsirunyan : "Naprawdę? Czy shared_ptr wyczyści się poprawnie? Czy mógłbyś w tym przypadku zademonstrować, jak można...