Bonjour,
j'ai cree une map contenant un pointeur vers un objet.
std::map<const char*,Sprite*> m_mapSprite;
std::map<const char*,Sprite*>::iterator seIterator;
1 - lorsque j'utilise la methode erase d'une map, est ce que cette methode appelle le destructeur de sprite?
2 - J'ai pu lire dans la faq consacre au stl que pour un vecteur, il fallait detruire le pointeur sur l'objet car un pointeur n'est pas un objet.
Je suppose que c'est la meme chose pour une map mais j'aimerais en etre sur.
3 - voila ce que j'ai fait pour effacer l'element pointe par seIterator a une certaine condition:
est ce correct?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
quelques remarques:
-ma map contient en realite des objets derive de Sprite et que Sprite est la classe mere virtuel.
-Lorsque je debug je vois bien les elements disparaitre de la map. Cependant je ne vois pas clairement la memoire alloue a mon programme baisse ou monte clairement dans le gestionnaire de memoire. c'est ce qui me fait douter
merci pour votre aide

 

 
		
		 
         
 

 
			
			

 
   


 std::map et fuite de memoire
 std::map et fuite de memoire
				 Répondre avec citation
  Répondre avec citation
Partager