Sdílet prostřednictvím


CTypedPtrMap – třída

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, CMapWordToPtrnebo 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í 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 .

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