Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1136 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Redefinir le destructeur ou destructeur par defaut?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Redefinir le destructeur ou destructeur par defaut?

n°1279563
agyspace
Posté le 09-01-2006 à 14:08:48  profilanswer
 

Salut,
 
Je voulais votre avis pour savoir s'il vaut mieux redefinir un destructeur meme si on a rien a mettre dedans?
Du genre:
 

Code :
  1. ~ObjectX {}


 
Ou si c'est pas la peine?

mood
Publicité
Posté le 09-01-2006 à 14:08:48  profilanswer
 

n°1279634
Joel F
Real men use unique_ptr
Posté le 09-01-2006 à 15:39:39  profilanswer
 

le destrcuteur est indispensable pour nettoyer ton objet en fin de vie.  
Pour des objets dont les membres sont de types atomiques, ca passe. Ca passe aussi si tu aggreges des objets de maniére statique.  
 
Perso même si le destructeur ne em semble pas obligatorie pour une classe, je le mets toujours, il sera là si un jour tu as besoin de retoucher à ta classe.

n°1279696
agyspace
Posté le 09-01-2006 à 17:05:45  profilanswer
 

Oki merci beaucoup :)

n°1280934
++fab
victime du syndrome IH
Posté le 10-01-2006 à 21:11:36  profilanswer
 

Joel F a écrit :

le destrcuteur est indispensable pour nettoyer ton objet en fin de vie.  
Pour des objets dont les membres sont de types atomiques, ca passe. Ca passe aussi si tu aggreges des objets de maniére statique.


 
Qu'est-ce que tu as voulu dire par type atomique ? Qu'est ce que tu appelles "aggrégation d'objets de manière statique" ?
Et quel est le rapport avec le destructeur ? Je ne te suis pas la ...
 

Joel F a écrit :

lPerso même si le destructeur ne em semble pas obligatorie pour une classe, je le mets toujours, il sera là si un jour tu as besoin de retoucher à ta classe.


 
Si le destructeur n'est pas déclaré par l'utilisateur, il sera implicitement déclaré (public inline). S'il est utilisé, il entrainera en cascade la définition de tout les destructeurs des membres non statiques et des bases (ceux non déclarés par l'utilisateur).
Le programme sera "ill-formed" si au moins un destructeur des membres non statiques ou des bases est inaccessible.
 
Il est donc inutile de définir le destructeur <edit> vide </edit>, sauf s'il a besoin d'etre soit virtual, protected, private, ou que la définition inline pose problème (auto_ptr<> membre).


Message édité par ++fab le 10-01-2006 à 22:20:35
n°1280971
Joel F
Real men use unique_ptr
Posté le 10-01-2006 à 22:02:39  profilanswer
 

oula ca m'apprendra à poster avec la grippe >.>
 
En gros, le destructeur n'est necessaire que si tu dois gerer de la memoire ou d'autre ressources à liberer a la fin d ela vie de l'instance.
 
Et oui, il est defini de manière automatique apr le compilo
 
/me va prendre une aspirine

n°1281180
agyspace
Posté le 11-01-2006 à 11:18:52  profilanswer
 

Ok donc pas de creation de destructeur vide (sauf quand virtuel ou autres cas speciaux)! Compris!

n°1281305
LordPeterP​an
Posté le 11-01-2006 à 13:51:08  profilanswer
 

Quel est l'intéret de définir le destructeur en private ?
 
J'utilise souvent le constructeur par défaut en private afin d'interdir à l'utilisateur d'avoir un objet non instantanément paramétré.
 
Par contre pour un destructeur : t'interdit à l'utilisateur de construire un objet ayant un attribut de type de ta classe ?

n°1281651
Joel F
Real men use unique_ptr
Posté le 11-01-2006 à 19:52:15  profilanswer
 

je crosi que ca interdit aussi la creation sur la pile.

n°1281679
++fab
victime du syndrome IH
Posté le 11-01-2006 à 20:22:42  profilanswer
 

les friend ont le droit de construire des objets "ObjetX" de n'importe quelle classe de stockage. Les autres n'ont pas le droit de détruire l'objet, ce qui ne laisse guère la place qu'aux objet dynamiques, avec interdiction de les désallouer ... Ce qui me parait peut utile.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Redefinir le destructeur ou destructeur par defaut?

 

Sujets relatifs
[RESOLU] Initialisation des membres par défautModification du groupe affecté par défaut pour un nouveau dossier
Constructeur destructeur probleme avec heritage[VBA-EXCEL 2003] [DONE]Date aujourd'hui dans valeur par defaut textbox
destructeurOrdre par défaut dans un Select
redéfinir l'appuie sur la touche F1 en JS[PHP 5] Encodage bizarre par défaut
[js]methode "alert", bouton annuler par defautDéfaut d'affichage dans les images
Plus de sujets relatifs à : Redefinir le destructeur ou destructeur par defaut?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR