CTypedPtrMap-Klasse
Stellt einen typsicheren Wrapper für Objekte der Zeigerzuordnungsklassen CMapPtrToPtr
, CMapPtrToWord
, CMapWordToPtr
und CMapStringToPtr
bereit.
Syntax
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
Parameter
BASE_CLASS
Basisklasse der typierten Zeigerzuordnungsklasse; muss eine Zeigerzuordnungsklasse ( , CMapPtrToPtr
CMapPtrToWord
, , CMapWordToPtr
oder CMapStringToPtr
) sein.
KEY
Klasse des Objekts, das als Schlüssel für die Karte verwendet wird.
VALUE
Klasse des objekts, das in der Karte gespeichert ist.
Member
Öffentliche Methoden
Name | Beschreibung |
---|---|
CTypedPtrMap::GetNextAssoc | Ruft das nächste Element zum Durchlaufen ab. |
CTypedPtrMap::Lookup | Gibt eine KEY basierend auf einem VALUE . |
CTypedPtrMap::RemoveKey | Entfernt ein durch einen Schlüssel angegebenes Element. |
CTypedPtrMap::SetAt | Fügt ein Element in die Karte ein; ersetzt ein vorhandenes Element, wenn ein übereinstimmende Schlüssel gefunden wird. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CTypedPtrMap::operator [ ] | Fügt ein Element in die Karte ein. |
Hinweise
Bei Verwendung CTypedPtrMap
hilft die C++-Typüberprüfungseinrichtung, Fehler zu beseitigen, die durch nicht übereinstimmende Zeigertypen verursacht werden.
Da alle CTypedPtrMap
Funktionen inline sind, wirkt sich die Verwendung dieser Vorlage nicht erheblich auf die Größe oder Geschwindigkeit des Codes aus.
Weitere Informationen zur Verwendung CTypedPtrMap
finden Sie in den Artikeln Sammlungen und vorlagenbasierten Klassen.
Vererbungshierarchie
BASE_CLASS
CTypedPtrMap
Anforderungen
Header: afxtempl.h
CTypedPtrMap::GetNextAssoc
Ruft das Kartenelement an rNextPosition
und aktualisiert rNextPosition
dann, um auf das nächste Element in der Karte zu verweisen.
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
Parameter
rPosition
Gibt einen Verweis auf einen POSITION-Wert an, der von einem vorherigen GetNextAssoc
oder BASE_CLASS
::GetStartPosition-Aufruf zurückgegeben wird.
KEY
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
rKey
Gibt den zurückgegebenen Schlüssel des abgerufenen Elements an.
VALUE
Vorlagenparameter, der den Typ der Kartenwerte angibt.
rValue
Gibt den zurückgegebenen Wert des abgerufenen Elements an.
Hinweise
Diese Funktion ist am nützlichsten für das Durchlaufen aller Elemente in der Karte. Beachten Sie, dass die Positionssequenz nicht unbedingt mit der Tastenwertsequenz identisch ist.
Wenn das abgerufene Element der letzte in der Karte ist, wird der neue Wert rNextPosition
auf NULL festgelegt.
Diese Inlinefunktion ruft ::GetNextAssoc aufBASE_CLASS
.
CTypedPtrMap::Lookup
Lookup
verwendet einen Hashingalgorithmus, um das Kartenelement schnell mit einem Schlüssel zu finden, der exakt übereinstimmt.
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
Parameter
BASE_CLASS
Vorlagenparameter, der die Basisklasse der Klasse dieser Zuordnung angibt.
key
Der Schlüssel des Elements, das nachschlagen soll.
VALUE
Vorlagenparameter, der den Typ der in dieser Zuordnung gespeicherten Werte angibt.
rValue
Gibt den zurückgegebenen Wert des abgerufenen Elements an.
Rückgabewert
Nonzero, wenn das Element gefunden wurde; andernfalls 0.
Hinweise
Diese Inlinefunktion ruft ::Lookup aufBASE_CLASS
.
CTypedPtrMap::operator [ ]
Dieser Operator kann nur auf der linken Seite einer Zuordnungsanweisung (ein l-Wert) verwendet werden.
VALUE& operator[ ](base_class ::base_arg_key key);
Parameter
VALUE
Vorlagenparameter, der den Typ der in dieser Zuordnung gespeicherten Werte angibt.
BASE_CLASS
Vorlagenparameter, der die Basisklasse der Klasse dieser Zuordnung angibt.
key
Der Schlüssel des Elements, das in der Karte nachschlagen oder erstellt werden soll.
Hinweise
Wenn kein Zuordnungselement mit dem angegebenen Schlüssel vorhanden ist, wird ein neues Element erstellt. Es gibt keine "rechte Seite" (r-Wert), die diesem Operator entspricht, da es eine Möglichkeit gibt, dass ein Schlüssel möglicherweise nicht in der Karte gefunden wird. Verwenden Sie die Lookup
Memberfunktion zum Abrufen von Elementen.
CTypedPtrMap::RemoveKey
Diese Memberfunktion ruft ::RemoveKey aufBASE_CLASS
.
BOOL RemoveKey(KEY key);
Parameter
KEY
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
key
Schlüssel für das zu entfernende Element.
Rückgabewert
Nonzero, wenn der Eintrag gefunden und erfolgreich entfernt wurde; andernfalls 0.
Hinweise
Ausführlichere Hinweise finden Sie unter CMapStringToOb::RemoveKey.
CTypedPtrMap::SetAt
Diese Memberfunktion ruft ::SetAt aufBASE_CLASS
.
void SetAt(KEY key, VALUE newValue);
Parameter
KEY
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
key
Gibt den Schlüsselwert des newValue an.
newValue
Gibt den Objektzeiger an, der den Wert des neuen Elements darstellt.
Hinweise
Ausführlichere Hinweise finden Sie unter CMapStringToOb::SetAt.
Siehe auch
MFC Sample COLLECT
Hierarchiediagramm
CMapPtrToPtr-Klasse
CMapPtrToWord-Klasse
CMapWordToPtr-Klasse
CMapStringToPtr-Klasse