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é
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(auto it = in_play.cbegin(); it != in_play.cend(); ++it){ string c = *it; cards.push_back(c); } in_play.clear(); }
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à)
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(); } }
Quelqu'un sait-il pourquoi ? Merci
Partager