Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt einen typsicheren Wrapper für Objekte der Zeigerzuordnungsklassen CMapPtrToPtr, CMapPtrToWord, CMapWordToPtrund CMapStringToPtrbereit.
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, CMapWordToPtroder CMapStringToPtr) sein.
SCHLÜSSEL
Klasse des Objekts, das als Schlüssel für die Karte verwendet wird.
WERT-
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 CTypedPtrMaphilft 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 CTypedPtrMapfinden Sie in den Artikeln Sammlungen und vorlagenbasierten Klassen.
Vererbungshierarchie
BASE_CLASS
CTypedPtrMap
Anforderungen
Header: afxtempl.h
CTypedPtrMap::GetNextAssoc
Ruft das Kartenelement an rNextPositionund 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.
SCHLÜSSEL
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
rKey
Gibt den zurückgegebenen Schlüssel des abgerufenen Elements an.
WERT-
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.
-Taste
Der Schlüssel des Elements, das nachschlagen soll.
WERT-
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
WERT-
Vorlagenparameter, der den Typ der in dieser Zuordnung gespeicherten Werte angibt.
BASE_CLASS
Vorlagenparameter, der die Basisklasse der Klasse dieser Zuordnung angibt.
-Taste
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
SCHLÜSSEL
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
-Taste
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
SCHLÜSSEL
Vorlagenparameter, der den Typ der Schlüssel der Zuordnung angibt.
-Taste
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