Bien le bonjour !
J'ai une petite question sur une libération de mémoire.
Voyez vous, j'ai un objet A contenant un attribut de ce type :
Je me pose donc la question de comment bien libérer la mémoire des CMapStringToString lors de la destruction de mon objet A.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CMap<CString, LPCTSTR, CMapStringToString*, CMapStringToString*&> m_mapOperatorSur;
Naïvement, je serais partis sur un truc dans ce genre là :
Mais je doute fort que le résultat effectif soit celui escompté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 POSITION position = m_mapOperatorSur.GetStartPosition(); CString sKey; CMapStringToString* mapValue; while (position) { m_mapOperatorSur.GetNextAssoc(position, sKey, mapValue); delete mapValue; } m_mapOperatorSur.RemoveAll();
Je me demande aussi si un simple RemoveAll(); sur m_mapOperatorSur serait suffisant ou s'il faut aller supprimer à la main toutes les CMapStringToString.
Je suis ouvert à toutes suggestion, idée, remarque et critique =)
Merci à vous.
Partager