Klasa CTypedPtrMap
Zapewnia bezpieczną dla typów "otokę" dla obiektów klas CMapPtrToPtr
wskaźnik-mapa, , CMapPtrToWord
CMapWordToPtr
i CMapStringToPtr
.
Składnia
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
Parametry
BASE_CLASS
Klasa bazowa typizowanej klasy mapy wskaźnika; musi być klasą mapy wskaźnika ( CMapPtrToPtr
, CMapPtrToWord
, CMapWordToPtr
lub CMapStringToPtr
).
KEY
Klasa obiektu używana jako klucz do mapy.
WARTOŚĆ
Klasa obiektu przechowywanego na mapie.
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CTypedPtrMap::GetNextAssoc | Pobiera następny element do iteracji. |
CTypedPtrMap::Lookup | Zwraca obiekt KEY na podstawie .VALUE |
CTypedPtrMap::RemoveKey | Usuwa element określony przez klucz. |
CTypedPtrMap::SetAt | Wstawia element do mapy; zastępuje istniejący element, jeśli zostanie znaleziony pasujący klucz. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
CTypedPtrMap::operator [ ] | Wstawia element do mapy. |
Uwagi
W przypadku korzystania z programu CTypedPtrMap
funkcja sprawdzania typów języka C++ pomaga wyeliminować błędy spowodowane niezgodnością typów wskaźników.
Ponieważ wszystkie CTypedPtrMap
funkcje są wbudowane, użycie tego szablonu nie wpływa znacząco na rozmiar lub szybkość kodu.
Aby uzyskać więcej informacji na temat korzystania z programu CTypedPtrMap
, zobacz artykuły Kolekcje i Klasy oparte na szablonach.
Hierarchia dziedziczenia
BASE_CLASS
CTypedPtrMap
Wymagania
Nagłówek: afxtempl.h
CTypedPtrMap::GetNextAssoc
Pobiera element mapy w rNextPosition
lokalizacji , a następnie aktualizuje rNextPosition
, aby odwołać się do następnego elementu na mapie.
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
Parametry
Położenie rPosition
Określa odwołanie do wartości POSITION zwróconej przez poprzednie GetNextAssoc
lub BASE_CLASS
::GetStartPosition wywołania.
KEY
Parametr szablonu określający typ kluczy mapy.
rKey
Określa zwrócony klucz pobranego elementu.
WARTOŚĆ
Parametr szablonu określający typ wartości mapy.
rValue
Określa zwracaną wartość pobranego elementu.
Uwagi
Ta funkcja jest najbardziej przydatna do iterowania wszystkich elementów na mapie. Należy pamiętać, że sekwencja pozycji nie musi być taka sama jak sekwencja wartości klucza.
Jeśli pobrany element jest ostatnim elementem na mapie, nowa wartość parametru rNextPosition
ma wartość NULL.
Ta funkcja śródliniowa wywołuje metodę BASE_CLASS
::GetNextAssoc.
CTypedPtrMap::Lookup
Lookup
używa algorytmu tworzenia skrótów, aby szybko znaleźć element mapy z kluczem, który dokładnie pasuje.
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
Parametry
BASE_CLASS
Parametr szablonu określający klasę bazową klasy tej mapy.
key
Klucz elementu do wyszukania.
WARTOŚĆ
Parametr szablonu określający typ wartości przechowywanych na tej mapie.
rValue
Określa zwracaną wartość pobranego elementu.
Wartość zwracana
Niezero, jeśli element został znaleziony; w przeciwnym razie 0.
Uwagi
Ta funkcja śródliniowa wywołuje metodę BASE_CLASS
::Lookup.
CTypedPtrMap::operator [ ]
Ten operator może być używany tylko po lewej stronie instrukcji przypisania (l-value).
VALUE& operator[ ](base_class ::base_arg_key key);
Parametry
WARTOŚĆ
Parametr szablonu określający typ wartości przechowywanych na tej mapie.
BASE_CLASS
Parametr szablonu określający klasę bazową klasy tej mapy.
key
Klucz elementu do wyszukania lub utworzenia na mapie.
Uwagi
Jeśli nie ma elementu mapy z określonym kluczem, zostanie utworzony nowy element. Nie ma "prawej strony" (r-value) równoważnej temu operatorowi, ponieważ istnieje możliwość, że klucz może nie zostać znaleziony na mapie. Użyj funkcji składowej do pobierania Lookup
elementów.
CTypedPtrMap::RemoveKey
Ta funkcja składowa wywołuje metodę BASE_CLASS
::RemoveKey.
BOOL RemoveKey(KEY key);
Parametry
KEY
Parametr szablonu określający typ kluczy mapy.
key
Klucz do usunięcia elementu.
Wartość zwracana
Nonzero, jeśli wpis został znaleziony i pomyślnie usunięty; w przeciwnym razie 0.
Uwagi
Aby uzyskać bardziej szczegółowe uwagi, zobacz CMapStringToOb::RemoveKey.
CTypedPtrMap::SetAt
Ta funkcja składowa wywołuje metodę BASE_CLASS
::SetAt.
void SetAt(KEY key, VALUE newValue);
Parametry
KEY
Parametr szablonu określający typ kluczy mapy.
key
Określa wartość klucza newValue.
newValue
Określa wskaźnik obiektu, który jest wartością nowego elementu.
Uwagi
Aby uzyskać bardziej szczegółowe uwagi, zobacz CMapStringToOb::SetAt.
Zobacz też
Przykład MFC COLLECT
Wykres hierarchii
Klasa CMapPtrToPtr
Klasa CMapPtrToWord
Klasa CMapWordToPtr
Klasa CMapStringToPtr