Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje typově bezpečný "obálka" pro objekty tříd CMapPtrToPtrukazatele map , CMapPtrToWord, CMapWordToPtra 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).
KLÍČ
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í CTypedPtrMappomá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í CTypedPtrMapnaleznete 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 rNextPositionpak 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_CLASSvoláním ::GetStartPosition .
KLÍČ
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.
klíč
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.
klíč
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
KLÍČ
Parametr šablony určující typ klíčů mapy.
klíč
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
KLÍČ
Parametr šablony určující typ klíčů mapy.
klíč
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