Freigeben über


CTypedPtrMap-Klasse

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 ( , CMapPtrToPtrCMapPtrToWord, , CMapWordToPtroder 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 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.

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