다음을 통해 공유


hash_multimap Class

[!참고]

이 API는 사용되지 않습니다.대신 unordered_multimap Class.

컨테이너 클래스 hash_multimap는 표준 템플릿 라이브러리의 확장 이며 저장 및 각 요소의 정렬 키 값이 고유 하지 않아도 한 쌍인 컬렉션과 연결 된 데이터 값에서 데이터의 빠른 검색에 사용 됩니다.

template <
   class Key, 
   class Type, 
   class Traits=hash_compare<Key, less<Key> >, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class hash_multimap

매개 변수


  • Hash_multimap에 저장 될 키 데이터 형식입니다.

  • Type
    Hash_multimap에 저장 될 요소의 데이터 형식입니다.

  • Traits
    클래스 중 하나가 함수 개체를 포함 하는 형식 성분 상대적인 순서와 1 진 조건부 요소의 키 값 형식의 부호 없는 정수로 매핑하는 해시 함수를 결정 하는 정렬 키로 두 개의 요소 값을 비교할 수 있습니다 size_t.이 인수는 선택 사항입니다 및 hash_compare*< 키, 적은 <Key> >* 기본값은입니다.

  • Allocator
    Hash_multimap의 할당 및 할당 취소에 대 한 세부 정보를 캡슐화 하는 저장 된 할당 기 개체를 나타내는 형식입니다.이 인수는 선택적 이며 기본값은 할당자*<*pair *<*const 키에서 입력 > >.

설명

Hash_multimap은 다음과 같습니다.

  • 요소 값의 효율적인 검색을 지 원하는 가변 크기 컨테이너에 연결 된 키 값에 기반 하는 결합형 컨테이너입니다.

  • 해당 요소에 액세스 하는 양방향 반복기를 제공 하기 때문에 되돌릴 수 있습니다.

  • 버킷으로 해시 함수가 요소의 키 값에 적용 값을 기준으로 해당 요소의 그룹화 되기 때문에 해시.

  • 여러 개의 키 값에 연결 된 많은 요소 데이터 값을 가질 수 있도록 해당 요소는 고유 키가 필요가 없습니다 때문입니다.

  • 쌍 결합형 컨테이너 해당 요소 값을 키 값을 구분 하기 때문입니다.

  • 템플릿 클래스를 제공 하는 기능 때문입니다 일반 및 독립적 요소 또는 키를 포함 하는 데이터를 특정 형식으로.요소 및 키를 사용 하는 데이터 형식 대신 비교 함수 및 할당자 클래스 템플릿 매개 변수로 지정 되 고.

정렬을 통해 해싱의 가장 큰 장점은 높은 효율성입니다. 성공적인 해싱 삽입, 삭제, 수행 하 고 일정 한 평균 시간 시간 비교 정렬 기법에 대 한 컨테이너의 요소 수의 밑에 비례 찾습니다.요소에는 hash_multimap의 값 이지만 없습니다 해당 키 값을 직접 변경할 수 있습니다.대신 이전 요소와 연관 된 키 값 삽입 새 요소와 연관 된 삭제 되 고 새 키 값이 있어야 합니다.

컨테이너 유형 중에서 선택할 검색 유형을 일반적 따라야 하 고 삽입 하는 응용 프로그램에 필요한.해시 된 결합형 컨테이너 조회, 삽입 및 제거 작업에 최적화 되어 있습니다.명시적으로 이러한 작업을 지원 하는 멤버 함수가 상수 평균적이 고 컨테이너의에서 요소 수에 의존 하지 않는 시간에 수행 하 여 잘된 해시 함수를 함께 사용 하면 효율적입니다.잘 디자인 된 해시 함수 해시 된 값의 균일 한 분포를 생성 및 충돌, 충돌 고유 키 값이 동일한 해시 된 값에 매핑되는 경우에 발생할 수 있다고 수 최소화.최악의 경우를 최악의 가능한 해시 함수로 작업 (선형 시간) 시퀀스의 요소 수 비례합니다.

응용 프로그램에서 해당 키 값을 연결 하는 조건이 충족 되 면 hash_multimap는 결합형 컨테이너의 선택 해야 합니다.이런이 종류의 구조를 위한 모델 목록을 제공 하는 연결된 문자열 값, 단어, 정의 핵심 단어 단어 항상 고유 하 게 정의 되지 않았습니다입니다.다음 키는 고유 되었습니다 있도록 대신 키워드 고유 하 게 정의 된 경우에 hash_map 컨테이너의 선택 됩니다.한편, 단어 목록이 방금 저장 된 경우에 hash_set는 해당 컨테이너가 됩니다.단어가 여러 개 허용 하는 경우는 hash_multiset는 적절 한 컨테이너 구조 됩니다.

컨트롤의 저장 된 해시를 호출 하 여 시퀀스의 hash_multimap 주문 성분 형식의 개체를 value_compare.이 저장 된 개체의 멤버 함수를 호출 하 여 액세스할 수 있습니다 key_comp.함수 개체 클래스의 개체와 똑같이 동작 해야 hash_compare< 키를 보다*<Key> >.모든 값에 대해 구체적으로 _Key 유형 , 호출 성분(_Key)* 형식의 값의 분포를 얻을 size_t.

일반적으로 요소를 단지 미만 동급이 순서를 설정할 필요가: 임의의 두 요소가 지정 되도록, (둘 다 보다는 다른와 같은 의미)에 해당 하는 나 보다 다른 인지 확인할 수 있습니다.이 비 해당 요소 간의 정렬 됩니다.더 기술적인 메모에 비교 함수 유도 엄격한 약한 표준 수학 점에서 주문 이진 조건부입니다.이진 술 부 f(x,y) 인수 개체를 두 개 가진 함수 개체는 x 및 y 및 반환 값이 true 또는 false.이진 조건부 비 회귀, 반대칭 특성이 결합 된, 및 전이 되 고 등가 전이 되 면 두 개체 위치 경우 순서가 엄격 하 게 약한 순서는 hash_multimap에서 부과 되 x 및 y 때 동일한 것으로 정의 된 모두 f(x,y) 및 f(y,x) false입니다.강력한 조건 키 사이의 같음 동등성을 대신 하면 다음 순서 (모든 요소를 서로 기준으로 정렬 됩니다 의미)에서 총 되며 일치 하는 키를 서로 모아져 수 없게 됩니다.

제어 되는 시퀀스에 있는 요소의 실제 순서는 해시 함수, 정렬 함수 및 컨테이너 개체에 저장 된 해시 테이블의 현재 크기에 따라 다릅니다.일반적 제어 되는 시퀀스의 요소 순서를 예측할 수 있도록 해시 테이블의 현재 크기를 확인할 수 없습니다.요소 삽입 없음 반복기를 무효화 하 고 요소 제거 제거 요소를 구체적으로 가리키는 것만 이러한 반복기를 무효화 합니다.

반복기는 hash_multimap 클래스에서 제공 되지만 클래스 멤버 함수는 양방향 반복기입니다 삽입hash_multimap 버전이 해당 기능 요구 사항은 보다 양방향 반복기 클래스에 의해 보장 된 최소한의 더 약한 입력된 반복기를 템플릿 매개 변수로 사용 합니다.다른 반복기 개념 구체화가 해당 기능에 관련 된 제품군을 형성 합니다.자체 요구 사항, hash_multimap 각 반복기 개념이 고 해당 반복기의 형식에서 제공 하는 요구 사항에 자신의 가정을 사용 하 여 작업 하는 알고리즘 제한 해야 합니다.일부 개체를 참조 하는 입력된 반복기를 역참조 될 수 있습니다 및 시퀀스에서 다음 반복기를 증가 될 수 있음을 가정할 수 있습니다.최소한의 hash_multimap 기능, 이지만 충분히 의미 있게 반복기에 대 한 범위를 이야기할 수 있습니다 [_First, _Last) 의 멤버 함수입니다.

Visual C++.NET 2003 멤버는 <hash_map><hash_set> 헤더 파일이 더 이상 std 네임 스페이스에 있지만 오히려 stdext 네임 스페이스로 이동 되었습니다.자세한 내용은 stdext 네임스페이스를 참조하십시오.

6ewecebk.collapse_all(ko-kr,VS.110).gif생성자

hash_multimap

특정 크기의 또는 요소를 특정 값 또는 특정 목록 생성 allocator 의 다른 복사본이 나 hash_multimap.

6ewecebk.collapse_all(ko-kr,VS.110).gif형식 정의

allocator_type

나타내는 형식에서 allocator 클래스의 hash_multimap 개체입니다.

const_iterator

읽을 수 있는 양방향 반복기를 제공 하는 형식에 const 요소에 있는 hash_multimap.

const_pointer

에 대 한 포인터를 제공 하는 형식에 const 요소에 있는 hash_multimap.

const_reference

참조를 제공 하는 형식에 const 요소에 저장 한 hash_multimap 읽기 및 수행 const 작업.

const_reverse_iterator

모든 수 양방향 반복기를 제공 하는 형식의 읽을 const 요소에 있는 hash_multimap.

difference_type

요소 개수를 나타내는 데 사용 되는 부호 있는 정수 형식에 hash_multimap 반복기가 가리키는 요소 사이의 범위에 있습니다.

반복기

양방향 반복기를 제공 하는 형식을 읽거나 모든 요소를 수정할 수 있는 hash_multimap.

key_compare

두 요소의 상대적 순서를 결정 하는 두 정렬 키를 비교할 수 있는 함수 개체를 제공 하는 형식에서 hash_multimap.

key_type

각 요소를 구성 하는 요소는 정렬 키 개체를 설명 하는 형식에서 hash_multimap.

mapped_type

에 저장 된 데이터 형식을 나타내는 형식에 hash_multimap.

pointer

요소에 대 한 포인터를 제공 하는 형식에 hash_multimap.

reference

에 저장 된 요소에 대 한 참조를 제공 하는 형식에 hash_multimap.

reverse_iterator

양방향 반복기를 제공 하는 형식을 읽거나 수정할 요소를 역순으로 hash_multimap.

size_type

요소의 수를 나타내는 부호 없는 정수 형식에 hash_multimap.

value_type

두 요소를 비교 하 여 상대적인 순서를 결정 하는 정렬 키로 수는 함수 개체를 제공 하는 형식에서 hash_multimap.

6ewecebk.collapse_all(ko-kr,VS.110).gif멤버 함수

begin

첫 번째 요소에 반복기를 반환 된 hash_multimap.

hash_multimap::cbegin

반환 주소에서 첫 번째 요소는 const 반복기는 hash_multimap.

hash_multimap::cend

반환 주소에 있는 마지막 요소 다음에 나오는 위치는 const 반복기는 hash_multimap.

clear

모든 요소를 삭제 한 hash_multimap.

count

요소 개수를 반환은 hash_multimap 인 키 매개 변수에 지정 된 키와 일치 합니다.

hash_multimap::crbegin

첫 번째 요소는 역순된 주소는 const 반복기를 반환 hash_multimap.

hash_multimap::crend

주소는 반전된의 마지막 요소 다음에 나오는 위치는 const 반복기를 반환 합니다. hash_multimap.

hash_multimap::emplace

제자리에서 구성 요소를 삽입 한 hash_multimap.

hash_multimap::emplace_hint

제자리에서 구성 요소를 삽입 한 hash_multimap, 배치 힌트를.

empty

경우 테스트 하는 hash_multimap 비어 있습니다.

end

반복기를 마지막 요소 다음에 나오는 위치 주소 반환 된 hash_multimap.

equal_range

반복기를 마지막 요소 다음에 나오는 위치 주소 반환 된 hash_multimap.

지우기

요소나 요소에서 범위를 제거는 hash_multimap 지정 된 위치에서

find

요소 위치를 가리키는 반복기를 반환 된 hash_multimap 는 지정 된 키에 해당 하는 키가.

get_allocator

복사본을 반환의 allocator 개체를 만드는 데 사용 되는 hash_multimap.

삽입

요소나 다양 한 요소를 삽입 하는 hash_multimap 지정 된 위치.

key_comp

순서 키를 사용 하 여 비교 개체의 복사본을 검색 한 hash_multimap.

lower_bound

첫 번째 요소에 반복기를 반환 된 hash_multimap 지정 된 키 보다 크거나 같은 키와 값입니다.

max_size

최대 길이를 반환 된 hash_multimap.

rbegin

첫 번째 요소는 역방향된 반복기를 반환 합니다. hash_multimap.

rend

반전된은 마지막 요소 다음에 나오는 위치를 설명 하는 반복기를 반환 hash_multimap.

size

새 크기에 지정 된 hash_multimap.

스왑

두 요소가 교환 hash_multimaps.

upper_bound

첫 번째 요소에 반복기를 반환 된 hash_multimap 는 키와 값의 지정 된 키 보다 높습니다.

value_comp

순서 대로 요소 값에 사용 되는 비교 개체의 복사본을 검색 한 hash_multimap.

6ewecebk.collapse_all(ko-kr,VS.110).gif연산자

hash_multimap::operator=

요소의 대체에 hash_multimap 의 다른 사본을 가진 hash_multimap.

요구 사항

헤더: <hash_map>

네임 스페이스: stdext

참고 항목

참조

표준 C++ 라이브러리에서 스레드로부터의 안전성

표준 템플릿 라이브러리

기타 리소스

<hash_map> 멤버

hash_multimap 멤버