다음을 통해 공유


CTypedPtrMap 클래스

CMapPtrToPtr, CMapPtrToWord, CMapWordToPtrCMapStringToPtr포인터-맵 클래스 개체에 대해 형식 안전 "래퍼"를 제공합니다.

구문

template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS

매개 변수

BASE_CLASS
형식화된 포인터 맵 클래스의 기본 클래스입니다. 는 포인터 맵 클래스(, CMapPtrToPtr, CMapPtrToWordCMapWordToPtr또는 CMapStringToPtr)여야 합니다.

KEY
맵의 키로 사용되는 개체의 클래스입니다.


맵에 저장된 개체의 클래스입니다.

멤버

공용 메서드

이름 설명
CTypedPtrMap::GetNextAssoc 반복할 다음 요소를 가져옵니다.
CTypedPtrMap::Lookup 에 기반한 값을 KEY 반환합니다 VALUE.
CTypedPtrMap::RemoveKey 키로 지정된 요소를 제거합니다.
CTypedPtrMap::SetAt 맵에 요소를 삽입합니다. 는 일치하는 키가 있으면 기존 요소를 대체합니다.

Public 연산자

속성 설명
CTypedPtrMap::operator [ ] 요소를 맵에 삽입합니다.

설명

C++ 형식 검사 기능을 사용하면 CTypedPtrMap일치하지 않는 포인터 형식으로 인한 오류를 제거할 수 있습니다.

모든 CTypedPtrMap 함수가 인라인이므로 이 템플릿을 사용하면 코드의 크기나 속도에 큰 영향을 주지 않습니다.

사용에 CTypedPtrMap대한 자세한 내용은 컬렉션템플릿 기반 클래스 문서를 참조하세요.

상속 계층 구조

BASE_CLASS

CTypedPtrMap

요구 사항

헤더: afxtempl.h

CTypedPtrMap::GetNextAssoc

맵 요소를 검색 rNextPosition한 다음 맵의 다음 요소를 참조하도록 업데이트합니다 rNextPosition .

void GetNextAssoc(
    POSITION& rPosition,
    KEY& rKey,
    VALUE& rValue) const;

매개 변수

rPosition
이전 GetNextAssoc 또는 BASE_CLASS::GetStartPosition 호출에서 반환된 POSITION 값에 대한 참조를 지정합니다.

KEY
맵 키의 형식을 지정하는 템플릿 매개 변수입니다.

rKey
검색된 요소의 반환된 키를 지정합니다.


맵 값의 형식을 지정하는 템플릿 매개 변수입니다.

rValue
검색된 요소의 반환된 값을 지정합니다.

설명

이 함수는 맵의 모든 요소를 반복하는 데 가장 유용합니다. 위치 시퀀스가 반드시 키 값 시퀀스와 같은 것은 아닙니다.

검색된 요소가 맵의 마지막 요소인 경우 새 값 rNextPosition 이 NULL로 설정됩니다.

이 인라인 함수는 ::GetNextAssoc를 호출BASE_CLASS합니다.

CTypedPtrMap::Lookup

Lookup 에서는 해시 알고리즘을 사용하여 정확히 일치하는 키를 사용하여 지도 요소를 빠르게 찾습니다.

BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;

매개 변수

BASE_CLASS
이 맵 클래스의 기본 클래스를 지정하는 템플릿 매개 변수입니다.

key
조회할 요소의 키입니다.


이 맵에 저장된 값의 형식을 지정하는 템플릿 매개 변수입니다.

rValue
검색된 요소의 반환된 값을 지정합니다.

Return Value

요소가 발견된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 인라인 함수는 ::Lookup을 호출BASE_CLASS합니다.

CTypedPtrMap::operator [ ]

이 연산자는 대입문(l-value)의 왼쪽에서만 사용할 수 있습니다.

VALUE& operator[ ](base_class ::base_arg_key key);

매개 변수


이 맵에 저장된 값의 형식을 지정하는 템플릿 매개 변수입니다.

BASE_CLASS
이 맵 클래스의 기본 클래스를 지정하는 템플릿 매개 변수입니다.

key
맵에서 조회하거나 만들 요소의 키입니다.

설명

지정된 키를 가진 map 요소가 없으면 새 요소가 만들어집니다. 맵에서 키를 찾을 수 없기 때문에 이 연산자에 해당하는 "오른쪽"(r-value)이 없습니다. 요소 검색에 Lookup 멤버 함수를 사용합니다.

CTypedPtrMap::RemoveKey

이 멤버 함수는 ::RemoveKey를 호출 BASE_CLASS합니다.

BOOL RemoveKey(KEY key);

매개 변수

KEY
맵 키의 형식을 지정하는 템플릿 매개 변수입니다.

key
제거할 요소의 키입니다.

Return Value

항목이 발견되고 성공적으로 제거된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

자세한 설명은 CMapStringToOb::RemoveKey를 참조 하세요.

CTypedPtrMap::SetAt

이 멤버 함수는 ::SetAt를 호출 BASE_CLASS합니다.

void SetAt(KEY key, VALUE newValue);

매개 변수

KEY
맵 키의 형식을 지정하는 템플릿 매개 변수입니다.

key
newValue의 키 값을 지정합니다.

newValue
새 요소의 값인 개체 포인터를 지정합니다.

설명

자세한 설명은 CMapStringToOb::SetAt을 참조하세요.

참고 항목

MFC 샘플 COLLECT
계층 구조 차트
CMapPtrToPtr 클래스
CMapPtrToWord 클래스
CMapWordToPtr 클래스
CMapStringToPtr 클래스