0
我遇到了stl map的問題。最初我用這樣的數據填充地圖。c + + STL地圖複製設置布爾值爲真
//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
然後我按照一些規則刪除一個元素,如下所示。
currentMap.erase(make_pair(xy));
我後來做了兩個地圖對象的交換。
prevMap = currentMap;
交換後所有的元素都分配給了true。如果我搜索元素xy ... *編輯 - 我有一個超前的自己。抱歉。
i = currentMap.find(make_pair(xy));
return i->second; // Always true after swap.
真相總會被評估爲真。初始化映射是否將bool值設置爲true?我可以用所有布爾初始化爲false嗎?
謝謝。
Woops。我在帖子中犯了一個錯誤。感謝您接收它chrisaycock:S – sdk900 2010-10-17 03:57:08
我剛剛根據您的文章在編輯之前嘗試過。感謝您的提示,但唉,交換後仍然有問題。我相信它可能是其他地方在我的代碼... – sdk900 2010-10-17 04:46:00
其實chrisaycock這確實解決了我的問題。你知道我爲什麼被拒絕嗎?我意識到我的問題最初有錯誤...無論如何感謝堆。我要去睡覺了。 – sdk900 2010-10-17 05:32:09