Je rencontre un problème avec la carte stl. Au départ, je remplis la carte avec des données comme ça.C++ Configuration de la copie de la carte STL Valeur booléenne à true
//loop
pair< int, int > xy (x,y);
currentMap.insert(make_pair(xy), value); //map< pair<int, int>, bool>
prevMap.insert(make_pair(xy), value);
// End Loop
Ensuite, je supprime un élément selon certaines règles.
currentMap.erase(make_pair(xy));
Plus tard, je fais un échange des deux objets de la carte.
prevMap = currentMap;
Après l'échange, tous les éléments sont affectés à true. Si je recherche l'élément xy ... * edit - j'ai une longueur d'avance sur moi-même. Pardon.
i = currentMap.find(make_pair(xy));
return i->second; // Always true after swap.
vérité sera toujours d'évaluer à vrai. L'initialisation d'une map va-t-elle définir la valeur bool à true? Puis-je initialiser avec tous les booléens à faux.
Merci.
Woops. J'ai fait une erreur dans mon message. Merci d'avoir attrapé chrisaycock: S – sdk900
Je viens d'essayer cela en fonction de votre message avant l'édition. Merci pour le conseil, mais hélas j'ai encore des problèmes après le swap. Je crois qu'il peut être ailleurs où dans mon code ... – sdk900
En fait chrisaycock cela a résolu mon problème. Savez-vous pourquoi j'ai été rejeté? Je me rends compte que ma question avait à l'origine des erreurs ... De toute façon Merci beaucoup. Je vais me coucher. – sdk900