Preguntas etiquetadas con destructor

594
¿Hay un destructor para Java?

¿Hay un destructor para Java? Parece que no puedo encontrar ninguna documentación sobre esto. Si no lo hay, ¿cómo puedo lograr el mismo efecto? Para hacer mi pregunta más específica, estoy escribiendo una aplicación que trata con datos y la especificación dice que debería haber un botón...

463
¿Cómo limpio correctamente un objeto Python?

class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)arriba falla con una excepción AttributeError. Entiendo que Python no garantiza la existencia de "variables globales" (¿datos de miembros en este contexto?)...

350
¿Necesito llamar explícitamente al destructor virtual base?

Al anular una clase en C ++ (con un destructor virtual), estoy implementando el destructor nuevamente como virtual en la clase heredada, pero ¿necesito llamar al destructor base? Si es así, me imagino que es algo así ... MyChildClass::~MyChildClass() // virtual in header { // Call to base...

257
arrojando excepciones de un destructor

La mayoría de la gente dice que nunca arroje una excepción de un destructor, ya que esto da como resultado un comportamiento indefinido. Stroustrup señala que "el destructor de vectores invoca explícitamente el destructor para cada elemento. Esto implica que si un destructor de elementos arroja, la...

120
¿Cómo destruir un objeto?

Hasta donde yo sé (que es muy poco), hay dos formas, dadas: $var = new object() Luego: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); ¿Otro método mejor? ¿Me estoy partiendo los pelos

118
¿Cuándo se llama a un destructor de C ++?

Pregunta básica: ¿cuándo un programa llama al método destructor de una clase en C ++? Me han dicho que se llama cuando un objeto sale del alcance o se somete a unadelete Preguntas más específicas: 1) Si el objeto se crea a través de un puntero y ese puntero se elimina más tarde o se le da una...

90
GNU GCC (g ++): ¿Por qué genera múltiples dtores?

Entorno de desarrollo: GNU GCC (g ++) 4.1.2 Mientras intento investigar cómo aumentar la 'cobertura de código, en particular la cobertura de funciones' en las pruebas unitarias, descubrí que parte de la clase dtor parece generarse varias veces. ¿Alguno de ustedes tiene alguna idea de por qué,...

89
shared_ptr magia :)

El Sr. Lidström y yo tuvimos una discusión :) La afirmación del Sr. Lidström es que una construcción shared_ptr<Base> p(new Derived);no requiere que Base tenga un destructor virtual: Armen Tsirunyan : "¿En serio? ¿El shared_ptr se limpiará correctamente? ¿Podrías demostrar en este caso...

77
¿Se heredan los destructores virtuales?

Si tengo una clase base con un destructor virtual. ¿Tiene una clase derivada para declarar un destructor virtual también? class base { public: virtual ~base () {} }; class derived : base { public: virtual ~derived () {} // 1) ~derived () {} // 2) }; Preguntas concretas: ¿1) y 2) son...