2012-07-12 4 views
6

나는 multimap<key_type,value_type>을 가지고 있는데, 나는 한 번에 특정 키가지도에 나타나는지 알고 싶다.특정 키가 멀티 맵에서 고유한지 어떻게 확인합니까?

은 내가 시작과 key를 포함하는 범위의 끝 반복자를 찾을 multimap.equal_range(key)를 호출 할 수 있습니다 알고 있지만 range.firstrange.second 사이 단 하나의 요소가 있는지 알고 싶습니다.

range.end과 일치하는지 확인하기 위해 range.first 값을 증가시키는 것보다 나은 방법이 있습니까? multimap::iterator은 양방향이기 때문에 증가분을 취소하는 것은 그리 큰 일이 아니지만 그렇게하는 것은 바람직하지 않습니다.

답변

7

std::multimap::count(key) == 1일까요?

+0

아, '카운트'오버로드를 보지 못했습니다. 완전한. 나는 그것이 내일 작동하고 응답으로 표시를 확인합니다. –

+0

@LarryOsterman ""키 "는 따옴표로 묶어야합니까? 나는'key'가 변수가 될 수 있기 때문에 따옴표없이 그것을 좋아했습니다. @ Nawaz 더 나은 참조 사이트 링크를 주셔서 감사합니다 –

+0

아니, 그렇지 않아 - 이건 내 경우에 키가 문자열이고 나는 간격입니다. 나는 되돌릴거야. –

관련 문제