Bonjour,

Je vous remercie par avance si vous comptez lire ce message et encore plus si vous pensez y r�pondre !

J'ai eu un probl�me aujourd'hui (enfin deux) avec la biblioth�que <list> de la stdl en c++

Voici ce qui s'est pass�

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
void remettre_cartes(list<string>& cards, list<string>& in_play){
    for(auto it = in_play.cbegin(); it != in_play.cend(); ++it){
        string c = *it;
        cards.push_back(c);
    }
    in_play.clear();
}
n'a pas le m�me comportement que

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
void remettre_cartes(list<string>& cards, list<string>& in_play){
    for(int i = 0; i < in_play.size(); i++){
        string c = in_play.front();
        cards.push_back(c);
        in_play.pop_front();
    }
}
De l� o� je me tiens (et votre mission si vous l'acceptez consiste � m'expliquer en quoi je me trompe ! ), dans le second code, le premier �l�ment de la liste devrait �tre supprim� de in_play et rajout� dans cards � chaque tour de boucle jusqu'� ce que in_play soit vide, or dans la pratique il m'a ajout� 4 fois la m�me string (in_play.size() == 4 � ce moment l�)

Quelqu'un sait-il pourquoi ? Merci