Udostępnij za pośrednictwem


Klasa CTypedPtrMap

Zapewnia bezpieczną dla typów "otokę" dla obiektów klas CMapPtrToPtrwskaźnik-mapa, , CMapPtrToWordCMapWordToPtri 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, CMapWordToPtrlub 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 CTypedPtrMapfunkcja 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 rNextPositionlokalizacji , 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