hash_compare 클래스
클래스 템플릿은 해시 결합 컨테이너(hash_map, hash_multimap, hash_set 또는 hash_multiset)에서 사용할 수 있는 개체를 포함하는 요소를 정렬하고 해시하는 기본 Traits 매개 변수 개체로 설명합니다.
구문
class hash_compare
{
Traits comp;
public:
const size_t bucket_size = 4;
const size_t min_buckets = 8;
hash_compare();
hash_compare(Traits pred);
size_t operator()(const Key& key) const;
bool operator()(
const Key& key1,
const Key& key2) const;
};
설명
각 해시 결합 컨테이너는 형식 Traits
의 해시 특성 개체(템플릿 매개 변수)를 저장합니다. hash_compare 특수화에서 클래스를 파생시켜 특정 함수 및 개체를 선택적으로 재정의하거나, 최소한의 특정 요구를 충족하는 경우 이 클래스의 고유한 버전을 제공할 수 있습니다. 특히 형식 hash_compare<Key, Traits>
의 개체 hash_comp 경우 위의 컨테이너에서 다음 동작이 필요합니다.
형식
Key
의 모든 값key
에 대해 호출 hash_comp()는key
형식size_t
값의 분포를 생성하는 해시 함수 역할을 합니다. hash_compare에서 제공하는 함수는key
를 반환합니다.시퀀스에 선행
key2
되고 해시 값key1
(해시 함수에서 반환된 값)이 있는 형식Key
의 모든 값에 대해 hash_comp(key2
,key1
)는 false입니다. 함수는 형식Key
의 값에 총 순서를 적용해야 합니다. hash_compare 제공하는 함수는 comp(, )를 반환합니다. 여기서 comp는 hash_comp 개체를 생성할 때 지정할 수 있는 형식Traits
의 저장된 개체입니다.,
key1
key2
기본Traits
매개 변수 형식less<Key>
의 경우 정렬 키 값이 감소하지 않습니다.정수 상수
bucket_size
는 컨테이너가 초과하지 않도록 해야 하는 "bucket"(해시 테이블 항목)당 평균 요소 수를 지정합니다. 0보다 커야 합니다. hash_compare에서 제공하는 값은 4입니다.정수 상수
min_buckets
는 해시 테이블에 기본 얻을 버킷의 최소 수를 지정합니다. 0보다 큰 2의 거듭제곱이어야 합니다. hash_compare에서 제공하는 값은 8입니다.
예시
hash_compare를 선언 및 사용하는 방법의 예제는 hash_map::hash_map, hash_multimap::hash_multimap, hash_set::hash_set 및 hash_multiset::hash_multiset에 대한 예제를 참조하세요.
요구 사항
헤더:<hash_map>
네임스페이스: stdext
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기