CMapStringToString 클래스
CString
개체로 키가 지정된 CString
개체의 맵을 지원합니다.
구문
class CMapStringToString : public CObject
멤버
멤버 CMapStringToString
함수는 CMapStringToOb 클래스 의 멤버 함수와 유사합니다. 이처럼 두 함수가 비슷하므로 CMapStringToOb
참조 설명서에서 멤버 함수 관련 사항을 확인할 수 있습니다. 포인터를 CObject
반환 값 또는 "output" 함수 매개 변수로 볼 때마다 포인터를 대체합니다 char
. 포인터를 CObject
"input" 함수 매개 변수로 볼 때마다 포인터를 대체합니다 char
.
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
예를 들어 위의 코드는
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
공용 구조체
속성 | 설명 |
---|---|
CMapStringToString::CPair | 키 값과 연결된 문자열 개체의 값을 포함하는 중첩된 구조체입니다. |
공용 생성자
속성 | 설명 |
---|---|
CMapStringToString::CMapStringToString | 생성자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CMapStringToString::GetCount | 이 맵의 요소 수를 반환합니다. |
CMapStringToString::GetHashTableSize | 해시 테이블의 현재 요소 수를 결정합니다. |
CMapStringToString::GetNextAssoc | 반복할 다음 요소를 가져옵니다. |
CMapStringToString::GetSize | 이 맵의 요소 수를 반환합니다. |
CMapStringToString::GetStartPosition | 첫 번째 요소의 위치를 반환합니다. |
CMapStringToString::HashKey | 지정된 키의 해시 값을 계산합니다. |
CMapStringToString::InitHashTable | 해시 테이블을 초기화합니다. |
CMapStringToString::IsEmpty | 빈 맵 조건(요소 없음)에 대한 테스트입니다. |
CMapStringToString::Lookup | void 포인터 키를 기반으로 void 포인터를 조회합니다. 가리키는 엔터티가 아닌 포인터 값이 키 비교에 사용됩니다. |
CMapStringToString::LookupKey | 지정된 키 값과 연결된 키에 대한 참조를 반환합니다. |
CMapStringToString::P GetFirstAssoc | 맵의 첫 번째 CString 포인터를 가져옵니다. |
CMapStringToString::P GetNextAssoc | 반복할 다음 CString 포인터를 가져옵니다. |
CMapStringToString::P Lookup | 값이 지정된 값과 CString 일치하는 포인터를 반환합니다. |
CMapStringToString::RemoveAll | 이 맵에서 모든 요소를 제거합니다. |
CMapStringToString::RemoveKey | 키로 지정된 요소를 제거합니다. |
CMapStringToString::SetAt | 맵에 요소를 삽입합니다. 는 일치하는 키가 있으면 기존 요소를 대체합니다. |
Public 연산자
속성 | 설명 |
---|---|
CMapStringToString::operator [ ] | 맵에 요소를 삽입합니다. 연산자 대체는 SetAt 다음과 같습니다. |
설명
CMapStringToString
는 serialization 및 요소 덤프를 지원하기 위해 IMPLEMENT_SERIAL
매크로를 통합합니다. 맵이 오버로드된 insertion( <<) 연산자 또는 Serialize
멤버 함수를 사용하여 보관에 저장되면 각 요소가 차례로 serialize됩니다.
개별 CString
- CString
요소의 덤프가 필요한 경우 덤프 컨텍스트의 깊이를 1 이상으로 설정해야 합니다.
개체가 CMapStringToString
삭제되거나 요소가 제거되면 개체가 CString
적절하게 제거됩니다.
자세한 CMapStringToString
내용은 컬렉션 문서를 참조하세요.
상속 계층 구조
CMapStringToString
요구 사항
헤더: afxcoll.h
CMapStringToString::CPair
키 값과 연결된 문자열 개체의 값을 포함합니다.
설명
CMapStringToString 클래스 내의 중첩된 구조체입니다.
구조체는 다음 두 개의 필드로 구성됩니다.
key
키 형식의 실제 값입니다.value
연결된 개체의 값입니다.
CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc 및 CMapStringToString::P GetNextAssoc의 반환 값을 저장하는 데 사용됩니다.
예시
사용 예제는 CMapStringToString::P Lookup의 예제 를 참조하세요.
CMapStringToString::P GetFirstAssoc
지도 개체의 첫 번째 항목을 반환합니다.
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
Return Value
지도의 첫 번째 항목에 대한 포인터입니다. CMapStringToString::CPair를 참조하세요. 맵이 비어 있으면 값은 NULL입니다.
설명
맵 개체의 첫 번째 요소에 대한 포인터를 반환하려면 이 함수를 호출합니다.
예시
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
pCurVal = myMap.PGetNextAssoc(pCurVal);
}
CMapStringToString::P GetNextAssoc
pAssocRec에서 가리키는 map 요소를 검색합니다.
const CPair *PGetNextAssoc(const CPair* pAssoc) const;
CPair *PGetNextAssoc(const CPair* pAssoc);
매개 변수
pAssoc
이전 PGetNextAssoc 또는 PGetFirstAssoc 호출에서 반환된 지도 항목을 가리킵니다.
Return Value
맵의 다음 항목에 대한 포인터입니다. CMapStringToString::CPair를 참조하세요. 요소가 맵의 마지막 요소인 경우 값은 NULL입니다.
설명
맵의 모든 요소를 반복하려면 이 메서드를 호출합니다. 호출 PGetFirstAssoc
을 사용하여 첫 번째 요소를 검색한 다음 연속 호출을 사용하여 맵을 반복합니다 PGetNextAssoc
.
예시
CMapStringToString::P GetFirstAssoc에 대한 예제를 참조하세요.
CMapStringToString::P Lookup
지정된 키에 매핑된 값을 조회합니다.
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
매개 변수
key
검색할 요소의 키에 대한 포인터입니다.
Return Value
지정된 키에 대한 포인터입니다.
설명
지정된 키와 정확히 일치하는 키가 있는 map 요소를 검색하려면 이 메서드를 호출합니다.
예시
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;
for (int i = 0; i < 4; i += 2)
{
pCurVal = myMap.PLookup(myStr[i]);
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
}