Vector et libération de la mémoire
Edit : Oups je me suis complètement planté de partie du forum si quelqu'un peu me déplacer dans la partie C++...merci
Bonjour à tous,
Mon problème est le suivant :
J'ai un Vector de structures et une structure contient un pointeur sur une classe.
Code:
1 2 3 4 5 6 7 8
|
struct MaStructure
{
CClasseA * pClasseA
};
struct MaStructure TempMaStructure;
vector <MaStructure> MonVector; |
Je fais un pushback de ma structure temporaire dans le Vector au moment où j'en ai besoin.
Maintenant je souhaite supprimer une case du Vector.
Je procède de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
for (int i = 0; i < MonVector.size(); i++)
{
TempMaStructure.pClasseA = new CClasseA;
pushback...
...
if (MonVector[i].pClasseA != 0)
{
delete MonVector[i].pClasseA;
MonVector[i].pClasseA = 0;
MonVector.erase(MonVector.begin()+i);
}
} |
S'agit-il d'une bonne solution ou cela comporte t'il des risques de dépassements mémoires ou d'autres choses de ce style ?
merci d'avance.