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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.