Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tillhandahåller en typsäker "wrapper" för objekt i pekarkartans klasser CMapPtrToPtr, CMapPtrToWord, CMapWordToPtroch CMapStringToPtr.
Syntax
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
Parameterar
BASE_CLASS
Basklass för den typerade pekarkartaklassen; måste vara en pekarkartaklass (CMapPtrToPtr, CMapPtrToWord, CMapWordToPtreller CMapStringToPtr).
NYCKEL
Klass för det objekt som används som nyckel till kartan.
VÄRDE
Klass för objektet som lagras på kartan.
Medlemmar
Offentliga metoder
| Namn | Beskrivning |
|---|---|
| CTypedPtrMap::GetNextAssoc | Hämtar nästa element för iterering. |
| CTypedPtrMap::Lookup | Returnerar en KEY baserad på en VALUE. |
| CTypedPtrMap::RemoveKey | Tar bort ett element som anges av en nyckel. |
| CTypedPtrMap::SetAt | Infogar ett element i kartan. ersätter ett befintligt element om en matchande nyckel hittas. |
Offentliga operatörer
| Namn | Beskrivning |
|---|---|
| CTypedPtrMap::operator [ ] | Infogar ett element i kartan. |
Anmärkningar
När du använder CTypedPtrMaphjälper typkontrollanläggningen C++ till att eliminera fel som orsakas av felmatchade pekartyper.
Eftersom alla CTypedPtrMap funktioner är infogade påverkar användningen av den här mallen inte kodens storlek eller hastighet avsevärt.
Mer information om hur du använder CTypedPtrMapfinns i artiklarna Samlingar och Template-Based klasser.
Arvshierarki
BASE_CLASS
CTypedPtrMap
Kravspecifikation
Rubrik: afxtempl.h
CTypedPtrMap::GetNextAssoc
Hämtar kartelementet på rNextPositionoch uppdaterar rNextPosition sedan för att referera till nästa element på kartan.
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
Parameterar
rPosition
Anger en referens till ett POSITION-värde som returnerades av ett tidigare GetNextAssoc eller BASE_CLASS::GetStartPosition-anrop .
NYCKEL
Mallparameter som anger typen av kartans nycklar.
rKey
Anger den returnerade nyckeln för det hämtade elementet.
VÄRDE
Mallparameter som anger typen av kartans värden.
rValue
Anger det returnerade värdet för det hämtade elementet.
Anmärkningar
Den här funktionen är mest användbar för iterering genom alla element på kartan. Observera att positionssekvensen inte nödvändigtvis är samma som nyckelvärdesekvensen.
Om det hämtade elementet är det sista i kartan anges det nya värdet rNextPosition för till NULL.
Den här infogade funktionen anropar BASE_CLASS::GetNextAssoc.
CTypedPtrMap::Lookup
Lookup använder en hashalgoritm för att snabbt hitta kartelementet med en nyckel som matchar exakt.
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
Parameterar
BASE_CLASS
Mallparameter som anger basklassen för den här kartans klass.
nyckel
Nyckeln för det element som ska letas upp.
VÄRDE
Mallparameter som anger vilken typ av värden som lagras i den här kartan.
rValue
Anger det returnerade värdet för det hämtade elementet.
Returvärde
Nonzero om elementet hittades; annars 0.
Anmärkningar
Den här infogade funktionen anropar BASE_CLASS::Lookup.
CTypedPtrMap::operator [ ]
Den här operatorn kan endast användas till vänster i en tilldelningsuttryck (ett l-värde).
VALUE& operator[ ](base_class ::base_arg_key key);
Parameterar
VÄRDE
Mallparameter som anger vilken typ av värden som lagras i den här kartan.
BASE_CLASS
Mallparameter som anger basklassen för den här kartans klass.
nyckel
Nyckeln för det element som ska letas upp eller skapas på kartan.
Anmärkningar
Om det inte finns något kartelement med den angivna nyckeln skapas ett nytt element. Det finns ingen "höger sida" (r-värde) som motsvarar den här operatorn eftersom det finns en risk att en nyckel inte hittas på kartan.
Lookup Använd medlemsfunktionen för elementhämtning.
CTypedPtrMap::RemoveKey
Den här medlemsfunktionen anropar BASE_CLASS::RemoveKey.
BOOL RemoveKey(KEY key);
Parameterar
NYCKEL
Mallparameter som anger typen av kartans nycklar.
nyckel
Nyckel för att elementet ska tas bort.
Returvärde
Nonzero om posten hittades och togs bort. annars 0.
Anmärkningar
Mer detaljerade kommentarer finns i CMapStringToOb::RemoveKey.
CTypedPtrMap::SetAt
Den här medlemsfunktionen anropar BASE_CLASS::SetAt.
void SetAt(KEY key, VALUE newValue);
Parameterar
NYCKEL
Mallparameter som anger typen av kartans nycklar.
nyckel
Anger nyckelvärdet för newValue.
newValue
Anger den objektpekare som är värdet för det nya elementet.
Anmärkningar
Mer detaljerade kommentarer finns i CMapStringToOb::SetAt.
Se även
MFC Sample COLLECT
hierarkidiagram
CMapPtrToPtr-klass
CMapPtrToWord-klass
CMapWordToPtr-klass
CMapStringToPtr-klass