Questions marquées «destructor»

594
Existe-t-il un destructeur pour Java?

Existe-t-il un destructeur pour Java? Je ne semble pas pouvoir trouver de documentation à ce sujet. S'il n'y en a pas, comment puis-je obtenir le même effet? Pour rendre ma question plus précise, j'écris une application qui traite des données et la spécification dit qu'il devrait y avoir un bouton...

463
Comment nettoyer correctement un objet Python?

class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)ci-dessus échoue avec une exception AttributeError. Je comprends que Python ne garantit pas l'existence de "variables globales" (données de membre dans ce contexte?)...

350
Dois-je appeler explicitement le destructeur virtuel de base?

Lorsque je remplace une classe en C ++ (avec un destructeur virtuel), j'implémente à nouveau le destructeur en tant que virtuel sur la classe héritée, mais dois-je appeler le destructeur de base? Si c'est le cas, j'imagine que c'est quelque chose comme ça ... MyChildClass::~MyChildClass() //...

257
jeter des exceptions d'un destructeur

La plupart des gens disent de ne jamais jeter d'exception d'un destructeur - cela entraîne un comportement indéfini. Stroustrup fait valoir que "le destructeur de vecteurs invoque explicitement le destructeur pour chaque élément. Cela implique que si un destructeur d'élément lance, la destruction...

120
Comment détruire un objet?

Autant que je sache (ce qui est très peu), il y a deux façons, étant donné: $var = new object() Ensuite: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); Une autre meilleure méthode? Suis-je en train de fendre les cheveux

118
Quand un destructeur C ++ est-il appelé?

Question de base: quand un programme appelle-t-il une méthode destructrice de classe en C ++? On m'a dit qu'il est appelé chaque fois qu'un objet sort du champ d'application ou est soumis à undelete Questions plus spécifiques: 1) Si l'objet est créé via un pointeur et que ce pointeur est...

90
GNU GCC (g ++): Pourquoi génère-t-il plusieurs dtors?

Environnement de développement: GNU GCC (g ++) 4.1.2 Alors que j'essaie d'étudier comment augmenter la `` couverture du code - en particulier la couverture des fonctions '' dans les tests unitaires, j'ai constaté qu'une partie de la classe dtor semble être générée plusieurs fois. Certains d'entre...

89
shared_ptr magic :)

M. Lidström et moi nous sommes disputés :) L'affirmation de M. Lidström est qu'une construction shared_ptr<Base> p(new Derived);ne nécessite pas que Base ait un destructeur virtuel: Armen Tsirunyan : "Vraiment? Le shared_ptr nettoiera-t-il correctement? Pourriez-vous s'il vous plaît dans ce...