begin process at 2012 05 29 22:24:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Problème sur pop_back() de std::list


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème sur pop_back() de std::list

vendredi 12 février 2010 à 16:26:19 | Problème sur pop_back() de std::list

buno

Administrateur CodeS-SourceS
Hello,
Je rencontres un souci au niveau de l'objet std::list que j'aimerais soumettre à votre expertise. Le code est sous Windows, Visual C++ 6.

Dans une classe, j'ai une liste de, disons, maillons.
Code C/C++ :
std::list<Maillon> m_maList;


Dans ma classe, j'ai une fonction d'ajout de ce type
Code C/C++ :
void addMaillon(Maillon * pMaillon)
{
  ...
  deleteIfNeeded();  // nettoyage si besoin
  ...
  m_maList.push_front(*pMaillon);
  ...
}


La fonction de nettoyage est de ce type
Code C/C++ :
void deleteIfNeeded(void)
{
  ...
  while(m_maList.size() > seuil_fixe)
  {
    ...
    m_maList.pop_back();
    ...
  }
}


A un moment donné, de façon aléatoire, j'ai un plantage au niveau du pop_back(). Les traces mises en place me disent pourtant que les éléments de ma liste sont valides.

Avez-vous déjà eu ce genre de soucis? Avez-vous des pistes d'investigation?
Pensez-vous qu'un remplacement d'implémentation la STL (laquelle? SGI? STLport?) pourrait corriger le problème?

Merci de vos lumières.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
vendredi 12 février 2010 à 22:08:14 | Re : Problème sur pop_back() de std::list

CptPingu

Administrateur CodeS-SourceS
Je ne pense pas que ce soit un problème de la STL. Tu dois avoir des petits problèmes un peu "tricky" dans ton code.
Pour t'en assurer, fais toi un petit prototype qui utilise un minimum de code et qui met en jeu ta std::list. Je pense que le bug ne se reproduira pas.
Là pour le coup, il n'y a pas de secret, tu vas avoir un peu de mal à trouver l'origine du bug. Essaie de vérifier que l'objet n'ai pas été déjà détruit ou est été corrompu d'une manière ou une autre.

Bonne chance à toi, n'hésite pas à faire parts de tes avancés :)

_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
mardi 16 février 2010 à 13:54:41 | Re : Problème sur pop_back() de std::list

buno

Administrateur CodeS-SourceS
J'aime les problèmes un peu "tricky"... euh non, en fait, j'aime pas ça!!!
Bon, je continue mon investigation. Je noterais ici si je trouve quelque chose...

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...


Cette discussion est classée dans : code, pop, list, std, back


Répondre à ce message

Sujets en rapport avec ce message

FormatMessage et va_list [ par Nebula ] Bonsoir à tous !J'essaie de formater mes messages d'erreurs à partir de GetLastError et de quelques autres variables passées à une procédure, un peu c pb liste [ par mat74 ] salut a ts ,j'ai essayer de faire une fonction avec des liste en param et sa marche pas .int nb_element_liste (std::list liste_teste,std::list it_test Fuite de mémoire avec std::list [ par vecchio56 ] Bonjour, J'ai un pb de fuite avec std::list, sous VC++ 7.1 J'ai ce problème seulement quand mon objet est global, ou bien local dans main Voila un cod Problème de fuite mémoire [ par franchouze ] Bonjour, Pour vérifier les fuites mémoires de mon programme j'utilise valgrind. Voici "l'oubli" de libération détecté par valgrind (ligne avant la erreur imcompréhensible :'( [ par iam_myst ] /usr/include/c++/4.0.2/ext/mt_allocator.h: In member function ‘void __gnu_cxx::__mt_alloc_base::construct(_Tp*, const _Tp&) [with _Tp = Sommet]’: /usr code en c++ [ par Sgh_Khaoula ] Svp est ce que quelqun'un peut m'aider à coprendre la ligne "Triangles = new std::vector[ Depth ];"MultiMesh::MultiMesh( int depth ) { Depth = depth;  à propose de vecteur de char [ par diable007 ] bonjour tout le monde,voila mon codestring leopard(<span style="color: Listview [ par akalys ] Re bonjour ^^ J'aurais une petite question a propos des listview. Je suis novice et j'ai suivuit un tuto pour créer un MFC. Ou dois je mettre mon co Probleme d'heritage [ par bakibak ] Bonjour a tous, je suis en train de coder un projet pour la gestion d'un zoo a la fac.Sans tout vous décrire j'ai une classe personne et deux classe h lire des valeur dans un fichier texte et les inserer dans une list box [ par pidoumtimo ] Bonjour.Je pense que le sujet decrit mon probleme.Au final la list box est vide.voila le bout de code ki me permet de lire et d'afficher.GetDlgI


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales