다음을 통해 공유


CAtlMap 클래스

이 클래스는 지도 개체를 만들고 관리하기 위한 메서드를 제공합니다.

구문

template <typename K,
          typename V,
          class KTraits = CElementTraits<K>,
          class VTraits = CElementTraits<V>>
class CAtlMap

매개 변수

K
키 요소 형식입니다.

V
값 요소 형식입니다.

KTraits
키 요소를 복사하거나 이동하는 데 사용되는 코드입니다. 자세한 내용은 CElementTraits 클래스를 참조하세요.

VTraits
값 요소를 복사하거나 이동하는 데 사용되는 코드입니다.

멤버

공용 Typedefs

속성 설명
CAtlMap::KINARGTYPE 키가 입력 인수로 전달될 때 사용되는 형식
CAtlMap::KOUTARGTYPE 키가 출력 인수로 반환되는 경우 사용되는 형식입니다.
CAtlMap::VINARGTYPE 값이 입력 인수로 전달될 때 사용되는 형식입니다.
CAtlMap::VOUTARGTYPE 값이 출력 인수로 전달될 때 사용되는 형식입니다.

public 클래스

속성 설명
CAtlMap::CPair 클래스 키 및 값 요소를 포함하는 클래스입니다.

CPair 데이터 멤버

속성 설명
CPair::m_key 키 요소를 저장하는 데이터 멤버입니다.
CPair::m_value 값 요소를 저장하는 데이터 멤버입니다.

공용 생성자

속성 설명
CAtlMap::CAtlMap 생성자입니다.
CAtlMap::~CAtlMap 소멸자입니다.

공용 메서드

이름 설명
CAtlMap::AssertValid 유효하지 않은 경우 ASSERT를 발생하려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::D isableAutoRehash 개체의 자동 다시 해시를 사용하지 않도록 설정하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::EnableAutoRehash 개체의 자동 다시 해시를 사용하도록 설정하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::GetAt 맵에서 지정된 위치에 있는 요소를 반환하려면 이 메서드를 호출합니다.
CAtlMap::GetCount 이 메서드를 호출하여 맵의 요소 수를 검색합니다.
CAtlMap::GetHashTableSize 이 메서드를 호출하여 맵의 해시 테이블에 있는 bin 수를 확인합니다.
CAtlMap::GetKeyAt 개체의 지정된 위치에 저장된 키를 검색하려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::GetNext 개체에 저장된 다음 요소 쌍에 대한 포인터를 가져오려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::GetNextAssoc 반복할 다음 요소를 가져옵니다.
CAtlMap::GetNextKey 개체에서 다음 키를 검색하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::GetNextValue 개체에서 다음 값을 얻으려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::GetStartPosition 지도 반복을 시작하려면 이 메서드를 호출합니다.
CAtlMap::GetValueAt 개체의 지정된 위치에 저장된 값을 검색하려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::InitHashTable 해시 테이블을 초기화하려면 이 메서드를 호출합니다.
CAtlMap::IsEmpty 빈 맵 개체를 테스트하려면 이 메서드를 호출합니다.
CAtlMap::Lookup 개체의 키 또는 값을 조회하려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::Rehash 개체를 다시 해시하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::RemoveAll 개체에서 모든 요소를 제거하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::RemoveAtPos 개체의 지정된 위치에 있는 요소를 제거하려면 이 메서드를 CAtlMap 호출합니다.
CAtlMap::RemoveKey 키를 지정하여 개체에서 CAtlMap 요소를 제거하려면 이 메서드를 호출합니다.
CAtlMap::SetAt 맵에 요소 쌍을 삽입하려면 이 메서드를 호출합니다.
CAtlMap::SetOptimalLoad 개체의 최적 로드를 설정하려면 이 메서드를 호출합니다 CAtlMap .
CAtlMap::SetValueAt 개체의 지정된 위치에 저장된 값을 변경하려면 이 메서드를 CAtlMap 호출합니다.

Public 연산자

속성 설명
CAtlMap::operator[] 에 새 요소를 CAtlMap바꾸거나 추가합니다.

설명

CAtlMap 에서는 지정된 형식의 매핑 배열을 지원하여 정렬되지 않은 키 요소 배열과 관련 값을 관리합니다. 요소(키 및 값으로 구성됨)는 해시 알고리즘을 사용하여 저장되므로 많은 양의 데이터를 효율적으로 저장하고 검색할 수 있습니다.

KTraitsVTraits 매개 변수는 요소를 복사하거나 이동하는 데 필요한 추가 코드를 포함하는 특성 클래스입니다.

대신 CAtlMap CRBMap 클래스를 사용할 수 있습니다. CRBMap 또한 키/값 쌍을 저장하지만 성능 특성이 다릅니다. 항목을 삽입하거나, 키를 조회하거나, 개체에서 CRBMap 키를 삭제하는 데 걸리는 시간은 순서 로그(n)입니다. 여기서 n 은 요소의 수입니다. 예를 CAtlMap들어 이러한 모든 작업은 일반적으로 일정한 시간이 걸리지만 최악의 시나리오는 순서 가 n일 수 있습니다. 따라서 일반적인 경우 CAtlMap 는 더 빠릅니다.

저장된 요소를 반복할 때의 다른 차이점은 CRBMap CAtlMap 명백해집니다. CRBMap에서 요소는 정렬된 순서로 방문됩니다. 에서 CAtlMap요소는 순서가 지정되지 않으며 순서를 유추할 수 없습니다.

적은 수의 요소를 저장해야 하는 경우 CSimpleMap 클래스를 대신 사용하는 것이 좋습니다.

자세한 내용은 ATL 컬렉션 클래스를 참조 하세요.

요구 사항

헤더: atlcoll.h

CAtlMap::AssertValid

개체가 유효하지 않은 경우 ASSERT를 발생하려면 이 메서드를 CAtlMap 호출합니다.

void AssertValid() const;

설명

디버그 빌드에서 이 메서드는 개체가 유효하지 않으면 ASSERT를 CAtlMap 발생합니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::CAtlMap

생성자입니다.

CAtlMap(
    UINT nBins = 17,
    float fOptimalLoad = 0.75f,
    float fLoThreshold = 0.25f,
    float fHiThreshold = 2.25f,
    UINT nBlockSize = 10) throw ();

매개 변수

nBins
저장된 요소에 대한 포인터를 제공하는 bin 수입니다. bin에 대한 설명은 이 항목의 뒷부분에 있는 설명을 참조하세요.

fOptimalLoad
최적의 부하 비율입니다.

fLoThreshold
부하 비율에 대한 낮은 임계값입니다.

fHiThreshold
부하 비율의 상한 임계값입니다.

nBlockSize
블록 크기입니다.

설명

CAtlMap 는 먼저 키에 해시 알고리즘을 사용하여 인덱스를 만들어 저장된 모든 요소를 참조합니다. 이 인덱스는 저장된 요소에 대한 포인터를 포함하는 "bin"을 참조합니다. bin이 이미 사용 중인 경우 후속 요소에 액세스하기 위해 연결된 목록이 만들어집니다. 목록을 트래버스하는 것은 올바른 요소에 직접 액세스하는 것보다 느리므로 맵 구조는 스토리지 요구 사항과 성능의 균형을 맞춰야 합니다. 대부분의 경우 좋은 결과를 제공하기 위해 기본 매개 변수가 선택되었습니다.

부하 비율은 맵 개체에 저장된 요소 수에 대한 bin 수의 비율입니다. 지도 구조가 다시 계산되면 fOptimalLoad 매개 변수 값을 사용하여 필요한 bin 수를 계산합니다. 이 값은 CAtlMap::SetOptimalLoad 메서드를 사용하여 변경할 수 있습니다.

fLoThreshold 매개 변수는 로드 비율이 이전에 CAtlMap 도달할 수 있는 낮은 값으로 맵의 최적 크기를 다시 계산합니다.

fHiThreshold 매개 변수는 개체가 맵의 최적 크기를 다시 계산하기 전에 CAtlMap 로드 비율이 도달할 수 있는 상한 값입니다.

이 다시 계산 프로세스(다시 해시라고 함)는 기본적으로 사용하도록 설정됩니다. 한 번에 많은 데이터를 입력할 때 이 프로세스를 사용하지 않도록 설정하려면 CAtlMap::D isableAutoRehash 메서드를 호출합니다. CAtlMap::EnableAutoRehash 메서드를 사용하여 다시 활성화합니다.

nBlockSize 매개 변수는 새 요소가 필요할 때 할당된 메모리 양에 대한 측정값입니다. 블록 크기가 클수록 메모리 할당 루틴에 대한 호출이 줄어들지만 더 많은 리소스를 사용합니다.

데이터를 저장하려면 먼저 CAtlMap::InitHashTable 호출을 사용하여 해시 테이블을 초기화해야 합니다.

예시

// Create a map which stores a double
// value using an integer key

CAtlMap<int, double> mySinTable;
int i;

// Initialize the Hash Table
mySinTable.InitHashTable(257);

// Add items to the map
for (i = 0; i < 90; i++)
   mySinTable[i] = sin((double)i);

// Confirm the map is valid
mySinTable.AssertValid();

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 90);

// Remove elements with even key values
for (i = 0; i < 90; i += 2)
   mySinTable.RemoveKey(i);

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 45);

// Walk through all the elements in the map.
// First, get start position.
POSITION pos;
int key;
double value;
pos = mySinTable.GetStartPosition();

// Now iterate the map, element by element
while (pos != NULL) 
{
   key = mySinTable.GetKeyAt(pos);
   value = mySinTable.GetNextValue(pos);
}

CAtlMap::~CAtlMap

소멸자입니다.

~CAtlMap() throw();

설명

할당된 리소스를 해제합니다.

CAtlMap::CPair 클래스

키 및 값 요소를 포함하는 클래스입니다.

class CPair : public __POSITION

설명

이 클래스는 CAtlMap::GetNextCAtlMap::Lookup 메서드에서 매핑 구조에 저장된 키 및 값 요소에 액세스하는 데 사용됩니다.

CAtlMap::D isableAutoRehash

개체의 자동 다시 해시를 사용하지 않도록 설정하려면 이 메서드를 호출합니다 CAtlMap .

void DisableAutoRehash() throw();

설명

자동 다시 해시를 사용하도록 설정하면(기본값) 부하 값(배열에 저장된 요소 수에 대한 bin 수의 비율)이 맵을 만들 때 지정된 최대값 또는 최소값을 초과하면 해시 테이블의 bin 수가 자동으로 다시 계산됩니다.

DisableAutoRehash 는 많은 요소가 한 번에 맵에 추가될 때 가장 유용합니다. 제한을 초과할 때마다 다시 해시 프로세스를 트리거하는 대신, 요소를 호출DisableAutoRehash하고, 추가하고, 마지막으로 CAtlMap::EnableAutoRehash를 호출하는 것이 더 효율적입니다.

CAtlMap::EnableAutoRehash

개체의 자동 다시 해시를 사용하도록 설정하려면 이 메서드를 호출합니다 CAtlMap .

void EnableAutoRehash() throw();

설명

자동 다시 해시를 사용하도록 설정하면(기본적으로는) 부하 값(배열에 저장된 요소 수에 대한 bin 수의 비율)이 맵을 만들 때 지정된 최대값 또는 최소값을 초과하면 해시 테이블의 bin 수가 자동으로 다시 계산됩니다.

EnableAutoRefresh는 CAtlMap::D isableAutoRehash를 호출한 후 가장 자주 사용됩니다.

CAtlMap::GetAt

맵에서 지정된 위치에 있는 요소를 반환하려면 이 메서드를 호출합니다.

void GetAt(
    POSITION pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

CPair* GetAt(POSITION& pos) throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

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

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

Return Value

맵에 저장된 키/값 요소의 현재 쌍에 대한 포인터를 반환합니다.

설명

디버그 빌드에서 pos가 NULL과 같으면 어설션 오류가 발생합니다.

CAtlMap::GetCount

이 메서드를 호출하여 맵의 요소 수를 검색합니다.

size_t GetCount() const throw();

Return Value

지도 개체의 요소 수를 반환합니다. 단일 요소는 키/값 쌍입니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::GetHashTableSize

이 메서드를 호출하여 맵의 해시 테이블에 있는 bin 수를 확인합니다.

UINT GetHashTableSize() const throw();

Return Value

해시 테이블의 bin 수를 반환합니다. 설명은 CAtlMap::CAtlMap을 참조하세요.

CAtlMap::GetKeyAt

개체의 지정된 위치에 저장된 키를 검색하려면 이 메서드를 CAtlMap 호출합니다.

const K& GetKeyAt(POSITION pos) const throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

Return Value

개체의 지정된 위치에 저장된 키에 대한 참조를 CAtlMap 반환합니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::GetNext

개체에 저장된 다음 요소 쌍에 대한 포인터를 가져오려면 이 메서드를 CAtlMap 호출합니다.

CPair* GetNext(POSITION& pos) throw();
const CPair* GetNext(POSITION& pos) const throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

Return Value

맵에 저장된 다음 키/값 요소 쌍에 대한 포인터를 반환합니다. pos 위치 카운터는 각 호출 후에 업데이트됩니다. 검색된 요소가 맵 의 마지막 요소인 경우 pos 는 NULL로 설정됩니다.

CAtlMap::GetNextAssoc

반복할 다음 요소를 가져옵니다.

void GetNextAssoc(
    POSITION& pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

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

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

설명

pos 위치 카운터는 각 호출 후에 업데이트됩니다. 검색된 요소가 맵 의 마지막 요소인 경우 pos 는 NULL로 설정됩니다.

CAtlMap::GetNextKey

개체에서 다음 키를 검색하려면 이 메서드를 호출합니다 CAtlMap .

const K& GetNextKey(POSITION& pos) const throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

Return Value

맵의 다음 키에 대한 참조를 반환합니다.

설명

현재 위치 카운터( pos)를 업데이트합니다. 맵에 항목이 더 이상 없으면 위치 카운터가 NULL로 설정됩니다.

CAtlMap::GetNextValue

개체에서 다음 값을 얻으려면 이 메서드를 호출합니다 CAtlMap .

V& GetNextValue(POSITION& pos) throw();
const V& GetNextValue(POSITION& pos) const throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

Return Value

맵의 다음 값에 대한 참조를 반환합니다.

설명

현재 위치 카운터( pos)를 업데이트합니다. 맵에 항목이 더 이상 없으면 위치 카운터가 NULL로 설정됩니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::GetStartPosition

지도 반복을 시작하려면 이 메서드를 호출합니다.

POSITION GetStartPosition() const throw();

Return Value

시작 위치를 반환하거나 맵이 비어 있으면 NULL이 반환됩니다.

설명

메서드에 전달할 수 있는 POSITION 값을 반환하여 맵 반복을 시작하려면 이 메서드를 GetNextAssoc 호출합니다.

참고 항목

반복 시퀀스를 예측할 수 없습니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::GetValueAt

개체의 지정된 위치에 저장된 값을 검색하려면 이 메서드를 CAtlMap 호출합니다.

V& GetValueAt(POSITION pos) throw();
const V& GetValueAt(POSITION pos) const throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

Return Value

개체의 지정된 위치에 저장된 값에 대한 참조를 CAtlMap 반환합니다.

CAtlMap::InitHashTable

해시 테이블을 초기화하려면 이 메서드를 호출합니다.

bool InitHashTable(
    UINT nBins,
    bool bAllocNow = true);

매개 변수

nBins
해시 테이블에 사용되는 bin의 수입니다. 설명은 CAtlMap::CAtlMap을 참조하세요.

bAllocNow
메모리를 할당해야 하는 경우 플래그 표시입니다.

Return Value

성공적인 초기화 시 TRUE를 반환하고 실패 시 FALSE를 반환합니다.

설명

InitHashTable 는 모든 요소가 해시 테이블에 저장되기 전에 호출되어야 합니다. 이 메서드가 명시적으로 호출되지 않으면 생성자가 지정 CAtlMap 한 bin 개수를 사용하여 요소를 처음 추가할 때 자동으로 호출됩니다. 그렇지 않으면 nBins 매개 변수로 지정된 새 bin 수를 사용하여 맵이 초기화됩니다.

bAllocNow 매개 변수가 false이면 해시 테이블에 필요한 메모리는 먼저 필요할 때까지 할당되지 않습니다. 맵을 사용할지 확실하지 않은 경우에 유용할 수 있습니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::IsEmpty

빈 맵 개체를 테스트하려면 이 메서드를 호출합니다.

bool IsEmpty() const throw();

Return Value

맵이 비어 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

CAtlMap::KINARGTYPE

키가 입력 인수로 전달될 때 사용되는 형식입니다.

typedef KTraits::INARGTYPE KINARGTYPE;

CAtlMap::KOUTARGTYPE

키가 출력 인수로 반환되는 경우 사용되는 형식입니다.

typedef KTraits::OUTARGTYPE KOUTARGTYPE;

CAtlMap::Lookup

개체의 키 또는 값을 조회하려면 이 메서드를 CAtlMap 호출합니다.

bool Lookup(KINARGTYPE key, VOUTARGTYPE value) const;
const CPair* Lookup(KINARGTYPE key) const throw();
CPair* Lookup(KINARGTYPE key) throw();

매개 변수

key
조회할 요소를 식별하는 키를 지정합니다.

value
조회된 값을 받는 변수입니다.

Return Value

키가 있으면 메서드의 첫 번째 형식이 true를 반환하고, 그렇지 않으면 false를 반환합니다. 두 번째 및 세 번째 양식은 CAtlMap::GetNext 등에 대한 호출의 위치로 사용할 수 있는 CPair 대한 포인터를 반환합니다.

설명

Lookup 는 해시 알고리즘을 사용하여 지정된 키 매개 변수와 정확히 일치하는 키가 포함된 맵 요소를 빠르게 찾습니다.

CAtlMap::operator []

에 새 요소를 CAtlMap바꾸거나 추가합니다.

V& operator[](kinargtype key) throw();

매개 변수

key
추가하거나 바꿀 요소의 키입니다.

Return Value

지정된 키와 연결된 값에 대한 참조를 반환합니다.

예시

키가 이미 있는 경우 요소가 바뀝니다. 키가 없으면 새 요소가 추가됩니다. CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::Rehash

개체를 다시 해시하려면 이 메서드를 호출합니다 CAtlMap .

void Rehash(UINT nBins = 0);

매개 변수

nBins
해시 테이블에 사용할 새 bin 수입니다. 설명은 CAtlMap::CAtlMap을 참조하세요.

설명

nBins가 0 CAtlMap 이면 맵의 요소 수와 최적의 부하 설정에 따라 적절한 숫자를 계산합니다. 일반적으로 다시 해시 프로세스는 자동이지만 CAtlMap::D isableAutoRehash가 호출된 경우 이 메서드는 필요한 크기 조정을 수행합니다.

CAtlMap::RemoveAll

개체에서 모든 요소를 제거하려면 이 메서드를 호출합니다 CAtlMap .

void RemoveAll() throw();

설명

요소를 저장하는 데 사용되는 메모리를 해제하여 개체를 지 CAtlMap 웁니다.

CAtlMap::RemoveAtPos

개체의 지정된 위치에 있는 요소를 제거하려면 이 메서드를 CAtlMap 호출합니다.

void RemoveAtPos(POSITION pos) throw();

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

설명

지정된 위치에 저장된 키/값 쌍을 제거합니다. 요소를 저장하는 데 사용되는 메모리가 해제됩니다. pos에서 참조하는 POSITION은 유효하지 않으며 맵에 있는 다른 요소의 POSITION은 유효한 상태로 유지되지만 반드시 동일한 순서를 유지하지는 않습니다.

CAtlMap::RemoveKey

키를 지정하여 개체에서 CAtlMap 요소를 제거하려면 이 메서드를 호출합니다.

bool RemoveKey(KINARGTYPE key) throw();

매개 변수

key
제거할 요소 쌍에 해당하는 키입니다.

Return Value

키를 찾아서 제거하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

예시

CAtlMap::CAtlMap에 대한 예제를 참조하세요.

CAtlMap::SetAt

맵에 요소 쌍을 삽입하려면 이 메서드를 호출합니다.

POSITION SetAt(
    KINARGTYPE key,
    VINARGTYPE value);

매개 변수

key
개체에 추가할 키 값입니다 CAtlMap .

value
개체에 추가할 값입니다 CAtlMap .

Return Value

개체에서 키/값 요소 쌍의 CAtlMap 위치를 반환합니다.

설명

SetAt 는 일치하는 키가 있으면 기존 요소를 대체합니다. 키를 찾을 수 없으면 새 키/값 쌍이 만들어집니다.

CAtlMap::SetOptimalLoad

개체의 최적 로드를 설정하려면 이 메서드를 호출합니다 CAtlMap .

void SetOptimalLoad(
    float fOptimalLoad,
    float fLoThreshold,
    float fHiThreshold,
    bool bRehashNow = false);

매개 변수

fOptimalLoad
최적의 부하 비율입니다.

fLoThreshold
부하 비율에 대한 낮은 임계값입니다.

fHiThreshold
부하 비율의 상한 임계값입니다.

bRehashNow
해시 테이블을 다시 계산해야 하는지 여부를 나타내는 플래그입니다.

설명

이 메서드는 개체에 대한 CAtlMap 최적의 로드 값을 다시 정의합니다. 다양한 매개 변수에 대한 설명은 CAtlMap::CAtlMap을 참조하세요. bRehashNow가 true이고 요소 수가 최소값과 최대값을 벗어나면 해시 테이블이 다시 계산됩니다.

CAtlMap::SetValueAt

개체의 지정된 위치에 저장된 값을 변경하려면 이 메서드를 CAtlMap 호출합니다.

void SetValueAt(
    POSITION pos,
    VINARGTYPE value);

매개 변수

pos
CAtlMap::GetNextAssoc 또는 CAtlMap::GetStartPosition에 대한 이전 호출에서 반환된 위치 카운터입니다.

value
개체에 추가할 값입니다 CAtlMap .

설명

개체의 지정된 위치에 CAtlMap 저장된 값 요소를 변경합니다.

CAtlMap::VINARGTYPE

값이 입력 인수로 전달될 때 사용되는 형식입니다.

typedef VTraits::INARGTYPE VINARGTYPE;

CAtlMap::VOUTARGTYPE

값이 출력 인수로 전달될 때 사용되는 형식입니다.

typedef VTraits::OUTARGTYPE VOUTARGTYPE;

CAtlMap::CPair::m_key

키 요소를 저장하는 데이터 멤버입니다.

const K m_key;

매개 변수

K
키 요소 형식입니다.

CAtlMap::CPair::m_value

값 요소를 저장하는 데이터 멤버입니다.

V  m_value;

매개 변수

V
값 요소 형식입니다.

참고 항목

선택 윤곽 샘플
UpdatePV 샘플
클래스 개요