Pytania otagowane jako destructor

21
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 przywróci aplikację do pierwotnego …

9
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 kontekście?), Gdy __del__()zostanie wywołany. Jeśli tak jest i to jest powód wyjątku, w jaki …
461 python  destructor 

7
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 { // Call to base destructor... this->MyBaseClass::~MyBaseClass(); // Some destructing specific …
350 c++  destructor 

16
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ę ... Naprawdę nie ma dobrego sposobu na ochronę przed wyjątkami rzuconymi przez …





12
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 dowolny element członkowski działa jako czysto wirtualny. Więc moje pytania są Kiedy naprawdę sprawiamy, …

6
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 włosy?

10
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 później usuwany lub otrzymuje nowy adres do …
118 c++  destructor 

7
Jaka jest różnica między używaniem IDisposable a destructor w C #?
Kiedy powinienem zaimplementować IDispose w klasie, a nie w destruktorze? Przeczytałem ten artykuł , ale nadal nie rozumiem. Zakładam, że jeśli zaimplementuję IDispose na obiekcie, mogę wyraźnie go „zniszczyć”, zamiast czekać, aż zrobi to garbage collector. Czy to jest poprawne? Czy to oznacza, że ​​zawsze powinienem jawnie wywoływać metodę Dispose …
101 c#  .net  dispose  destructor 


2
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, proszę? Wypróbowałem i zaobserwowałem to, o czym wspomniałem …
90 c++  g++  destructor 

3
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 zaimplementować ten efekt?" Daniel Lidström : „ Shared_ptr używa własnego destruktora do …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.