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

  FORUM HardWare.fr
  Programmation
  C++

  new & delete customisé et destructeur qui foire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

new & delete customisé et destructeur qui foire

n°1804582
Joel F
Real men use unique_ptr
Posté le 25-10-2008 à 21:57:02  profilanswer
 

Deux questions non reliées :
 
1/ Quant un destructeur peut il thrower ou se terminer indument, laissant un objet à moitié détruit.
2/ Surchargé new et delete pour leur faire appelé memalign en douce, ca passe ou faut il restreindre cett surcharge au classique new/delete de placement ?
 
Voilou

mood
Publicité
Posté le 25-10-2008 à 21:57:02  profilanswer
 

n°1804693
0x90
Posté le 26-10-2008 à 12:37:22  profilanswer
 

Joel F a écrit :

Deux questions non reliées :
1/ Quant un destructeur peut il thrower ou se terminer indument, laissant un objet à moitié détruit.


Il faut surtout que dans ton propre destructeur tu fasse bien tout ce que t'as à faire (si t'as un delete d'un membre après un truc qui peut thrower par exemple), après la norme dit que les destructeurs des classes parentes seront appellés même si ton destructeur throw, donc à l'intérieur de l'objet t'as pas de pb. Par contre :
- pour les utilisateurs externes de l'objet ça peut poser problème pour garantir que le programme sera jamais dans un état bancale.
- si ton destructeur throw pendant la remontée d'une autre exception (dépilage des objets dans la stack), le programme s'arrète immédiatement.
(Note que c'est que des trucs que j'ai appris en lisant, pas vécu, donc c'est pas forcément de l'information de première qualité, dans le doute que fais des destructeurs qui throwent pas mais j'ai jamais eu à faire des programmes vraiment fiables.)

Joel F a écrit :

2/ Surchargé new et delete pour leur faire appelé memalign en douce, ca passe ou faut il restreindre cett surcharge au classique new/delete de placement ?

Je vois pas ou est le problème, le new de placement n'a rien de particulier.
 
Par contre, pour supporter le new[], tu passe après la décision du compilo/système qui a calculé la taille totale pour les n éléments, du coup tu peut pas changer l'alignement de chaque élément du tableau :/


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1804711
Joel F
Real men use unique_ptr
Posté le 26-10-2008 à 15:30:31  profilanswer
 

0x90 a écrit :


Il faut surtout que dans ton propre destructeur tu fasse bien tout ce que t'as à faire (si t'as un delete d'un membre après un truc qui peut thrower par exemple), après la norme dit que les destructeurs des classes parentes seront appellés même si ton destructeur throw, donc à l'intérieur de l'objet t'as pas de pb. Par contre :
- pour les utilisateurs externes de l'objet ça peut poser problème pour garantir que le programme sera jamais dans un état bancale.
- si ton destructeur throw pendant la remontée d'une autre exception (dépilage des objets dans la stack), le programme s'arrète immédiatement.
(Note que c'est que des trucs que j'ai appris en lisant, pas vécu, donc c'est pas forcément de l'information de première qualité, dans le doute que fais des destructeurs qui throwent pas mais j'ai jamais eu à faire des programmes vraiment fiables.)


En gros, j'ai une classe qui n'appartient à aucune hiérarchie de classe et dont on ne peut hériter qui, lorsqu'elle ets détruite effectue un calcul.
Je voulais savoir si y avait des cas ou les destrcuteurs foirait et donc empecherait mon calcul.
 

0x90 a écrit :


Par contre, pour supporter le new[], tu passe après la décision du compilo/système qui a calculé la taille totale pour les n éléments, du coup tu peut pas changer l'alignement de chaque élément du tableau :/


oui ca je sais, mais pour new[], je veut juste aligner le premier donc c'est bon ;)

n°1804713
Taz
bisounours-codeur
Posté le 26-10-2008 à 15:39:34  profilanswer
 

tu veux pas faire un vector avec un allocator ?

n°1804746
Joel F
Real men use unique_ptr
Posté le 26-10-2008 à 18:47:59  profilanswer
 

Pour une classe POD, ca marche guère ;)


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

  new & delete customisé et destructeur qui foire

 

Sujets relatifs
mysql + DELETE[resolu]introduction d'un script php qui foire le CSS
userscript pour hfrdelete + cancel => database crash
Question simple sur DELETE, LIMIT et ORDER BYheap corruption detected dans le destructeur de CStringT
La foire aux bestiaux: 12 juin, Parisappel du destructeur et opérateurs
hibernate: load/criteria/hql pour des query (ex: delete)Delete On Cascade
Plus de sujets relatifs à : new & delete customisé et destructeur qui foire


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)