Bonjour,
Je vais essayer d'être clair:
J'ai une méthode A qui fait appel a une méthode B. La méthode B utilise des "new". Ma méthode A appel aussi une méthode C qui elle aussi appel la méthode B.
Les résultats obtenus de B et de C sont utilisés dans la suite de la méthode A.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Mon problème est la réalisation de delete qui supprime correctement les new de B.
En effet je me suis rendu compte que si je fais les delete lorsque je n'ai plus besoin, donc à la fin de la méthode A, seuls les éléments créés en dernier, donc ceux de C sont supprimé, et les premiers ne sont jamais supprimé, ce qui me pose un problème de fuite mémoire.
Je pense qu'il faut que j'enregistre les adresse des différents pointeurs à supprimer, mais je ne vois pas comment faire.
J'espère que j'ai été assez clair.
Merci pour votre aide

 

 
		
		 
        

 
			
			




 Problème de delete
 Problème de delete
				 Répondre avec citation
  Répondre avec citation 
  
  
  
 
 
   
 




 
			 Envoyé par damdam78
 Envoyé par damdam78
					
 Comment arrives-tu alors à distinguer dans ta fonction A les objets issus de l'appel à B et ceux de l'appel à C[B]? J'ai l'impression que tout cela est assez confus. Il faut que tu te poses les questions suivantes: quelle est la durée de vie de mes objets alloués et qui y a accès? Il serait intéressant que tu nous expliques un peu le mécanisme que tu as voulu mettre en œuvre pour avoir des aides plus précises.
 Comment arrives-tu alors à distinguer dans ta fonction A les objets issus de l'appel à B et ceux de l'appel à C[B]? J'ai l'impression que tout cela est assez confus. Il faut que tu te poses les questions suivantes: quelle est la durée de vie de mes objets alloués et qui y a accès? Il serait intéressant que tu nous expliques un peu le mécanisme que tu as voulu mettre en œuvre pour avoir des aides plus précises.
						

 
 
 
			
Partager