CTypedPtrMap – třída
Poskytuje typově bezpečný "obálka" pro objekty tříd CMapPtrToPtr
ukazatele map , CMapPtrToWord
, CMapWordToPtr
a CMapStringToPtr
.
Syntaxe
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
Parametry
BASE_CLASS
Základní třída typové mapové třídy ukazatele; musí být třída mapy ukazatele ( CMapPtrToPtr
, CMapPtrToWord
, CMapWordToPtr
nebo CMapStringToPtr
).
KEY
Třída objektu použitého jako klíč k mapě.
HODNOTA
Třída objektu uloženého v mapě
Členové
Veřejné metody
Název | Popis |
---|---|
CTypedPtrMap::GetNextAssoc | Získá další prvek pro iterování. |
CTypedPtrMap::Lookup | Vrátí hodnotu založenou KEY na .VALUE |
CTypedPtrMap::RemoveKey | Odebere prvek určený klíčem. |
CTypedPtrMap::SetAt | Vloží prvek do mapy; nahradí existující prvek, pokud je nalezen odpovídající klíč. |
Veřejné operátory
Název | Popis |
---|---|
CTypedPtrMap::operator [ ] | Vloží prvek do mapy. |
Poznámky
Při použití CTypedPtrMap
pomáhá nástroj pro kontrolu typů jazyka C++ eliminovat chyby způsobené neshodnými typy ukazatelů.
Vzhledem k tomu, že jsou všechny CTypedPtrMap
funkce vložené, použití této šablony nemá významný vliv na velikost nebo rychlost kódu.
Další informace o použití CTypedPtrMap
naleznete v článcích Kolekce a třídy založené na šablonách.
Hierarchie dědičnosti
BASE_CLASS
CTypedPtrMap
Požadavky
Hlavička: afxtempl.h
CTypedPtrMap::GetNextAssoc
Načte prvek mapy na a rNextPosition
pak aktualizuje rNextPosition
odkaz na další prvek v mapě.
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
Parametry
rPosition
Určuje odkaz na hodnotu POSITION vrácenou předchozím GetNextAssoc
voláním nebo BASE_CLASS
voláním ::GetStartPosition .
KEY
Parametr šablony určující typ klíčů mapy.
rKey
Určuje vrácený klíč načteného prvku.
HODNOTA
Parametr šablony určující typ hodnot mapy.
rValue
Určuje vrácenou hodnotu načteného prvku.
Poznámky
Tato funkce je nejužitečnější pro iteraci všemi prvky v mapě. Všimněte si, že pořadí pozic nemusí být nutně stejné jako posloupnost klíčových hodnot.
Pokud je načtený prvek poslední v mapě, je nová hodnota rNextPosition
nastavena na HODNOTU NULL.
Tato vložená funkce volá BASE_CLASS
::GetNextAssoc.
CTypedPtrMap::Lookup
Lookup
používá algoritmus hash k rychlému vyhledání prvku mapy s klíčem, který přesně odpovídá.
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
Parametry
BASE_CLASS
Parametr šablony určující základní třídu třídy této mapy.
key
Klíč prvku, který se má vyhledat.
HODNOTA
Parametr šablony určující typ hodnot uložených v této mapě.
rValue
Určuje vrácenou hodnotu načteného prvku.
Návratová hodnota
Nenulové, pokud byl prvek nalezen; jinak 0.
Poznámky
Tato vložená funkce volá BASE_CLASS
::Lookup.
CTypedPtrMap::operator [ ]
Tento operátor lze použít pouze na levé straně příkazu přiřazení (l-hodnota).
VALUE& operator[ ](base_class ::base_arg_key key);
Parametry
HODNOTA
Parametr šablony určující typ hodnot uložených v této mapě.
BASE_CLASS
Parametr šablony určující základní třídu třídy této mapy.
key
Klíč prvku, který se má vyhledat nebo vytvořit v mapě.
Poznámky
Pokud neexistuje žádný prvek mapování se zadaným klíčem, vytvoří se nový prvek. Neexistuje žádná "pravá strana" (r-value) ekvivalentní tomuto operátoru, protože existuje možnost, že klíč nelze v mapě najít. Pro načtení elementu Lookup
použijte členovou funkci.
CTypedPtrMap::RemoveKey
Tato členová funkce volá BASE_CLASS
::RemoveKey.
BOOL RemoveKey(KEY key);
Parametry
KEY
Parametr šablony určující typ klíčů mapy.
key
Klíč pro prvek, který se má odebrat.
Návratová hodnota
Nenulové, pokud byla položka nalezena a úspěšně odstraněna; jinak 0.
Poznámky
Podrobnější poznámky naleznete v tématu CMapStringToOb::RemoveKey.
CTypedPtrMap::SetAt
Tato členová funkce volá BASE_CLASS
::SetAt.
void SetAt(KEY key, VALUE newValue);
Parametry
KEY
Parametr šablony určující typ klíčů mapy.
key
Určuje hodnotu klíče nové hodnoty.
newValue
Určuje ukazatel objektu, který je hodnotou nového prvku.
Poznámky
Podrobnější poznámky naleznete v tématu CMapStringToOb::SetAt.
Viz také
MFC – Ukázka COLLECT
Graf hierarchie
CMapPtrToPtr – třída
CMapPtrToWord – třída
CMapWordToPtr – třída
CMapStringToPtr – třída