std::string et fuite de mémoire
Bonjour,
Je programme avec Visual Studio Express 2005.
J'ai installé Visual Leak Detector, un detecteur de fuite de mémoire... efficace !
Du coup j'ai pu corriger quelques fuites, mais une derniere me laisse perplexe.
J'ai une classe cListe qui peut contenir des elements.
On ajoute un élément avec :
Code:
1 2 3 4 5 6 7 8
| int m_valeur;
std::string m_texte;
void ajouterElement(int valeur, std::string texte)
{
m_valeur = valeur;
m_texte = texte;
} |
Et j'ai une fuite sur certains éléments créés, indiquée sur la ligne
m_texte = texte;
J'ai donc pensé que je ne libérais pas la mémoire de certaines string... pour vérifier, j'ai codé en dur :
Code:
1 2 3 4 5 6
|
pListe->ajouterElement(0, "test 1");
pListe->ajouterElement(0, "test 2");
pListe->ajouterElement(0, "test 33333333333333333333");
pListe->ajouterElement(0, "test 4");
pListe->ajouterElement(0, "test 5"); |
Et là, j'ai une fuite de mémoire systématique dans l'éxecution de :
pListe->ajouterElement(0, "test 33333333333333333333");
Comme si la longueur de la chaine posait probleme....
Je m'y prend mal avec les std::string ?
Merci !