2012-07-12 26 views
6

我有一個multimap<key_type,value_type>,我想知道一個特定的鍵是否最多隻出現在地圖上。如何確定某個特定鍵在多重映射中是否是唯一的?

我知道我可以打電話multimap.equal_range(key)找到一個迭代開始和含key範圍的結束,但我想知道是否有隻有一個range.firstrange.second之間的元素。

有沒有比增加range.first值更好的方法來查看它是否等於range.end?由於multimap::iterator是雙向的,因此撤消增量並不是什麼大事,但似乎馬虎做到這一點。

回答

7

你能否檢查std::multimap::count(key) == 1?

+0

啊,沒有看到'count'超載。完善。我會確認它明天有效並標記爲已回答。 – 2012-07-12 06:24:27

+0

@LarryOsterman必須用''鍵「'在引號中?我喜歡它,因爲'key'可能是一個變量。 @Nawaz感謝您的更好的參考網站鏈接 – 2012-07-12 06:31:37

+0

不,它不 - 這是我的壞,在我的情況下,關鍵是一個字符串,我間隔。我會撤消。 – 2012-07-12 14:57:28

相關問題