hash_map (STL/CLR)
템플릿 클래스의 양방향 액세스 가변 길이 시퀀스의 요소를 제어 하는 개체를 설명 합니다.컨테이너를 사용 하 여 hash_map 해시 테이블로 시퀀스의 요소를 관리 하기 위해 저장 하 여 양방향 각 테이블 항목 연결 노드 목록과 각 노드를 하나의 요소를 저장 합니다.요소 시퀀스 및 되는 타는 곳에 이동 매핑된 값 정렬 키로 구성 됩니다.
아래 설명에서 GValue 와 동일 합니다.
Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>
다음은 각 문자에 대한 설명입니다.
GKey같은 Key 후자는 ref 형식입니다 하지 않으면 어떤 경우에 것입니다Key^
GMapped같은 Mapped 후자는 ref 형식입니다 하지 않으면 어떤 경우에 것입니다Mapped^
template<typename Key,
typename Mapped>
ref class hash_map
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
System::Collections::Generic::IDictionary<Gkey, GMapped>,
Microsoft::VisualC::StlClr::IHash<Gkey, GValue>
{ ..... };
매개 변수
키
제어되는 시퀀스에 있는 요소의 키 구성 요소 형식입니다.매핑
제어 되는 시퀀스에 있는 요소의 추가 구성 요소 유형을 지정 합니다.
Members
형식 정의 |
설명 |
---|---|
상수 반복기 제어 되는 시퀀스의 유형을 지정 합니다. |
|
형식 요소에 대 한 상수 참조입니다. |
|
형식 제어 되는 시퀀스에 있는 상수 역방향 반복기입니다. |
|
두 요소 사이의 거리 (서명된 가능) 유형을 지정 합니다. |
|
컨테이너에 대 한 제네릭 인터페이스의 형식입니다. |
|
반복기는 컨테이너에 대 한 제네릭 인터페이스의 형식입니다. |
|
형식 컨테이너에 대 한 제네릭 인터페이스는 역방향 반복기입니다. |
|
제네릭 인터페이스는 컨테이너에 대 한 요소 유형을 지정 합니다. |
|
해시 키에 대 한 대리자입니다. |
|
제어 되는 시퀀스에 대 한 반복기의 형식입니다. |
|
두 키에 대 한 순서 지정 대리자입니다. |
|
정렬 키의 형식입니다. |
|
매핑된 각 키와 연관 된 값의 형식입니다. |
|
형식 요소에 대 한 참조입니다. |
|
형식 제어 되는 시퀀스에 대해 하는 역방향 반복기입니다. |
|
두 요소 사이의 거리 (음수가 아님) 유형을 지정 합니다. |
|
두 개의 요소 값에 대 한 순서 지정 대리자입니다. |
|
요소 유형을 지정 합니다. |
멤버 함수 |
설명 |
---|---|
제어되는 시퀀스의 시작을 지정합니다. |
|
버킷 수를 셉니다. |
|
모든 요소를 제거합니다. |
|
지정 된 키와 일치 하는 요소를 계산 합니다. |
|
요소가 없는지 여부 테스트를 제공 합니다. |
|
제어되는 시퀀스의 끝을 지정합니다. |
|
지정 된 키와 일치 하는 범위를 찾습니다. |
|
지정된 위치에 있는 요소를 제거합니다. |
|
지정된 키와 일치하는 요소를 찾습니다. |
|
해시 키에 대 한 대리자를 복사합니다. |
|
컨테이너 개체를 만듭니다. |
|
요소를 추가합니다. |
|
두 키에 대 한 순서 지정 대리자를 복사합니다. |
|
버킷 당 평균 요소 수를 계산 합니다. |
|
검색 시작에 지정 된 키와 일치 하는 범위입니다. |
|
값 개체를 만듭니다. |
|
버킷 당 최대 요소를 가져오거나 설정 합니다. |
|
역방향 제어되는 시퀀스의 시작을 지정합니다. |
|
해시 테이블을 다시 빌드합니다. |
|
역방향 제어되는 시퀀스의 끝을 지정합니다. |
|
요소의 수를 셉니다. |
|
두 컨테이너의 내용을 바꿉니다. |
|
제어 되는 시퀀스를 새 배열에 복사합니다. |
|
지정 된 키와 일치 하는 범위 끝 찾습니다. |
|
두 개의 요소 값에 대 한 순서 지정 대리자를 복사합니다. |
Operator |
설명 |
---|---|
제어 되는 시퀀스를 대체합니다. |
|
연결 된 매핑된 값에 키를 매핑합니다. |
인터페이스
Interface |
설명 |
---|---|
개체를 복제 합니다. |
|
요소를 시퀀스입니다. |
|
그룹의 요소를 유지 합니다. |
|
형식화 된 요소를 시퀀스입니다. |
|
형식화 된 요소 그룹을 유지 합니다. |
|
관리 그룹 {키, 값} 쌍. |
|
< 키, 값 > IHash |
제네릭 컨테이너를 유지 합니다. |
설명
개체를 할당 하 고 양방향 연결된 목록에 개별 노드로 제어 되는 시퀀스에 대 한 저장소를 해제 합니다.액세스 속도 향상 시키려면 또한 개체 시퀀스로의 하위 목록, 목록 전체를 효과적으로 관리 하는 가변 길이 배열 목록 (해시 테이블)에 대 한 포인터의 유지 또는 buckets.절대로 한 노드의 콘텐츠를 다른 컴퓨터로 복사 하 여 노드 간에 연결을 변경 하 여 순서 대로 유지 하는 통에 요소를 삽입 합니다.즉 삽입 하 고 나머지 요소를 방해 하지 않고 자유롭게 요소를 제거할 수 있습니다.
개체 제어에 저장 된 대리자 형식의 개체를 호출 하 여 각 통 주문 hash_set::key_compare (STL/CLR).Hash_set를 만들 때 저장 된 대리자 개체를 지정할 수 있습니다. 대리자 개체를 지정 하지 않으면 기본 비교 됩니다 operator<=(key_type, key_type).
멤버 함수를 호출 하 여 저장 된 대리자 개체를 액세스할 수 있습니다. hash_set::key_comp (STL/CLR)().대리자 개체 간의 키 형식 해당 하는 순서를 정의 해야 hash_set::key_type (STL/CLR).즉, 두 키에 대 한 X 및 Y:
key_comp()(X, Y)결과 같은 부울 반환 값을 호출할 때마다입니다.
경우 key_comp()(X, Y) && key_comp()(Y, X) 다음 true 인 X 및 Y 해당 하는 주문에 있다고 합니다.
처럼 동작 하는 모든 순서 지정 규칙 operator<=(key_type, key_type), operator>=(key_type, key_type) 또는 operator==(key_type, key_type) eqivalent 순서를 정의 합니다.
Note 요소 동일한 정렬 키가와 같은 정수 값은 해시 버킷 내 인접 됩니다 컨테이너만 보장 합니다.템플릿 클래스와는 달리 hash_multimap (STL/CLR), 템플릿 클래스의 개체를 hash_map 키 모든 요소에 대해 고유한 지 확인 합니다.(두 키 해당 하는 주문 있습니다.)
개체는 통 형식의 저장 된 대리자 개체를 호출 하 여 지정 된 정렬 키를 포함 해야 결정 hash_set::hasher (STL/CLR).멤버 함수를 호출 하 여이 저장 된 개체에 액세스 hash_set::hash_delegate (STL/CLR)() 키 값에 종속 되는 정수 값을 얻을 수 있습니다.Hash_set를 만들 때 저장 된 대리자 개체를 지정할 수 있습니다. 대리자 개체를 지정 하는 경우 기본 함수는 System::Object::hash_value(key_type).즉, 모든 키에 대 한 X 및 Y:
hash_delegate()(X)모든 호출에서 동일한 정수 결과 반환합니다.
경우 X 및 Y 해당 하는 경우 다음 순서에 있는 hash_delegate()(X) 와 같은 정수 결과 반환 해야 hash_delegate()(Y).
각 요소는 별도 키와 매핑된 값을 포함합니다.시퀀스에서 조회, 삽입 및 제거 하는 최상의 사례에 독립적으로 (일정 시간)-시퀀스의 요소 개수입니다 적어도 작업 수가 임의의 요소를 허용 하는 방식으로 표현 됩니다.게다가 없음 반복기 요소 삽입을 무효화 하 고 요소 제거에서 제거 된 요소를 가리키는 반복기가 무효화 됩니다.
그러나 하지 않도록 해시 값을 균일 하 게 분산 되어 있는 경우 해시 테이블 만들어야 수 있습니다.-항상 동일한 값을 반환 하는 해시 함수에 대 한 최악의 경우 조회, 삽입 및 제거 비례 (선형 시간) 시퀀스의 요소 개수입니다.컨테이너는 적절 한 해시 함수를 평균 버킷 크기를 선택 하려면 노력 하 고 해시 테이블 크기 (총 버킷), 있지만 이러한 옵션 중 일부 또는 전부를 재정의할 수 있습니다.예를 들어, 함수 참조 hash_set::max_load_factor (STL/CLR) 및 hash_set::rehash (STL/CLR).
Hash_map는 인접 요소 제어 되는 시퀀스의 요소를 지정 하는 반복기를 지정 된 단계 수를 의미 하는 양방향 반복기를 지원 합니다.특별 한 헤드 노드를 반환 하는 반복기 해당 hash_map::end (STL/CLR)().있을 경우 제어 되는 시퀀스의 마지막 요소에 도달 하기 위해이 반복기를 감소 시킬 수 있습니다.헤드 노드를 도달 하는 hash_map 반복기를 증가 시킬 수 있습니다 및 다음 같은지 비교 됩니다 end().하지만 반환 하는 반복기를 역 참조할 수 없습니다 end().
직접 해당 위치를 나타내는 숫자를 지정 하는 hash_map 요소를 참조할 수 있습니다-필요로 하는 임의 액세스 반복기입니다.
Hash_map 반복기의 관련된 컨테이너에 대 한 핸들을 저장 하는 해당 관련된 hash_map 노드를 핸들을 저장 합니다.가 연결 된 컨테이너 개체만 반복기를 사용할 수 있습니다.관련된 hash_map 노드는 일부 hash_map와 관련 된 게 hash_map 반복기가 유효 합니다.또한 유효한 반복기는 dereferencable입니다-액세스 하거나 것 같지 않은 게 그 지정-요소 값을 변경할 사용 end().
지우거 나 요소를 제거 합니다. 저장 된 값에 대 한 소멸자를 호출 합니다.컨테이너 파괴 모든 요소를 지웁니다.따라서 요소 형식이 ref 클래스 컨테이너 컨테이너 요소 outlive 것을 보장 합니다.그러나 컨테이너 핸들 하지 않습니다 not 요소를 파괴 하십시오.
요구 사항
헤더: < cliext/hash_map >
네임 스페이스: cliext