CMapStringToOb
Klasa
Klasa kolekcji słowników, która mapuje unikatowe CString
obiekty na CObject
wskaźniki.
Składnia
class CMapStringToOb : public CObject
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CMapStringToOb::CMapStringToOb |
Konstruktor. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMapStringToOb::GetCount |
Zwraca liczbę elementów na tej mapie. |
CMapStringToOb::GetHashTableSize |
Określa bieżącą liczbę elementów w tabeli skrótów. |
CMapStringToOb::GetNextAssoc |
Pobiera następny element do iteracji. |
CMapStringToOb::GetSize |
Zwraca liczbę elementów na tej mapie. |
CMapStringToOb::GetStartPosition |
Zwraca pozycję pierwszego elementu. |
CMapStringToOb::HashKey |
Oblicza wartość skrótu określonego klucza. |
CMapStringToOb::InitHashTable |
Inicjuje tabelę skrótów. |
CMapStringToOb::IsEmpty |
Testy warunku pustej mapy (brak elementów). |
CMapStringToOb::Lookup |
Wyszukuje wskaźnik pustki na podstawie klucza wskaźnika pustki. Wartość wskaźnika, a nie jednostka, do którego wskazuje, jest używana do porównania klucza. |
CMapStringToOb::LookupKey |
Zwraca odwołanie do klucza skojarzonego z określoną wartością klucza. |
CMapStringToOb::RemoveAll |
Usuwa wszystkie elementy z tej mapy. |
CMapStringToOb::RemoveKey |
Usuwa element określony przez klucz. |
CMapStringToOb::SetAt |
Wstawia element do mapy; zastępuje istniejący element, jeśli zostanie znaleziony pasujący klucz. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
CMapStringToOb::operator [ ] |
Wstawia element do mapy — podstawianie operatora dla SetAt elementu . |
Uwagi
Po wstawieniu CString
- CObject*
pary (elementu) do mapy można efektywnie pobrać lub usunąć parę przy użyciu ciągu lub CString
wartości jako klucza. Można również iterować wszystkie elementy na mapie.
Zmienna typu POSITION
jest używana do dostępu do alternatywnego wpisu we wszystkich odmianach mapy. Możesz użyć elementu POSITION
, aby "zapamiętać" wpis i wykonać iterację po mapie. Można pomyśleć, że ta iteracja jest sekwencja według wartości klucza; to nie jest. Sekwencja pobranych elementów jest nieokreślona.
CMapStringToOb
IMPLEMENT_SERIAL
uwzględnia makro w celu wspierania serializacji i dumpingu jej elementów. Każdy element jest serializowany z kolei, jeśli mapa jest przechowywana w archiwum, z przeciążonym operatorem wstawiania ( <<
) lub z funkcją składową Serialize
.
Jeśli potrzebujesz zrzutu diagnostycznego poszczególnych elementów na mapie ( CString
wartości i CObject
zawartości), musisz ustawić głębokość kontekstu zrzutu na 1 lub większą.
CMapStringToOb
Gdy obiekt zostanie usunięty lub gdy jego elementy zostaną usunięte, CString
obiekty i CObject
wskaźniki zostaną usunięte. Obiekty, do których odwołuje CObject
się wskaźnik, nie są niszczone.
Wyprowadzanie klas map jest podobne do wyprowadzania listy. Zobacz artykuł Kolekcje , aby zapoznać się z ilustracją wyprowadzania klasy listy specjalnego przeznaczenia.
Hierarchia dziedziczenia
CMapStringToOb
Wymagania
Nagłówek: afxcoll.h
CMapStringToOb::CMapStringToOb
Tworzy pustą CString
mapę -to-map CObject*
.
CMapStringToOb(INT_PTR nBlockSize = 10);
Parametry
nBlockSize
Określa stopień szczegółowości alokacji pamięci na potrzeby rozszerzania mapy.
Uwagi
Wraz ze wzrostem mapy pamięć jest przydzielana w jednostkach nBlockSize
wpisów.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb:: CMapStringToOb
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
CMapPtrToPtr( INT_PTR nBlockSize = 10 ); |
CMapPtrToWord |
CMapPtrToWord( INT_PTR nBlockSize = 10 ); |
CMapStringToPtr |
CMapStringToPtr( INT_PTR nBlockSize = 10 ); |
CMapStringToString |
CMapStringToString( INT_PTR nBlockSize = 10 ); |
CMapWordToOb |
CMapWordToOb( INT_PTR nBlockSize = 10 ); |
CMapWordToPtr |
MapWordToPtr( INT_PTR nBlockSize = 10 ); |
Przykład
CMapStringToOb map(20); // Map on the stack with blocksize of 20
CMapStringToOb *pm = new CMapStringToOb; // Map on the heap
// with default blocksize
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb::GetCount
Określa liczbę elementów na mapie.
INT_PTR GetCount() const;
Wartość zwracana
Liczba elementów na tej mapie.
Uwagi
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::GetCount
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
INT_PTR GetCount() const; |
CMapPtrToWord |
INT_PTR GetCount() const; |
CMapStringToPtr |
INT_PTR GetCount() const; |
CMapStringToString |
INT_PTR GetCount() const; |
CMapWordToOb |
INT_PTR GetCount() const; |
CMapWordToPtr |
INT_PTR GetCount() const; |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetCount() == 2);
CMapStringToOb::GetHashTableSize
Określa bieżącą liczbę elementów w tabeli skrótów.
UINT GetHashTableSize() const;
Wartość zwracana
Zwraca liczbę elementów w tabeli skrótów.
Uwagi
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::GetHashTableSize
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
UINT GetHashTableSize() const; |
CMapPtrToWord |
UINT GetHashTableSize() const; |
CMapStringToPtr |
UINT GetHashTableSize() const; |
CMapStringToString |
UINT GetHashTableSize() const; |
CMapWordToOb |
UINT GetHashTableSize() const; |
CMapWordToPtr |
UINT GetHashTableSize() const; |
CMapStringToOb::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& rNextPosition,
CString& rKey,
CObject*& rValue) const;
Parametry
rNextPosition
Określa odwołanie do wartości POSITION zwróconej przez poprzednie GetNextAssoc
lub GetStartPosition
wywołanie.
rKey
Określa zwrócony klucz pobranego elementu (ciąg).
rValue
Określa zwracaną wartość pobranego elementu ( CObject
wskaźnik). Zobacz Uwagi , aby uzyskać więcej informacji na temat tego parametru.
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 jest ustawiona rNextPosition
na NULL
wartość .
W przypadku parametru rValue
pamiętaj, aby rzutować typ obiektu na CObject*&
, który jest wymagany przez kompilator, jak pokazano w poniższym przykładzie:
CObject *ob;
map.GetNextAssoc(pos, key, (CObject *&)ob);
Nie dotyczy GetNextAssoc
to map opartych na szablonach.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::GetNextAssoc
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtrR | void GetNextAssoc( POSITION& rNextPosition , void*& rKey , void*& rValue ) const; |
CMapPtrToWord | void GetNextAssoc( POSITION& rNextPosition , void*& rKey , WORD& rValue ) const; |
CMapStringToPtr | void GetNextAssoc( POSITION& rNextPosition , CString& rKey , void*& rValue ) const; |
CMapStringToString | void GetNextAssoc( POSITION& rNextPosition , CString& rKey , CString& rValue ) const; |
CMapWordToOb | void GetNextAssoc( POSITION& rNextPosition , WORD& rKey , CObject*& rValue ) const; |
CMapWordToPtr | void GetNextAssoc( POSITION& rNextPosition , WORD& rKey , void*& rValue ) const; |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
POSITION pos;
CString key;
CAge *pa;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
// Iterate through the entire map, dumping both name and age.
for (pos = map.GetStartPosition(); pos != NULL;)
{
map.GetNextAssoc(pos, key, (CObject *&)pa);
#ifdef _DEBUG
afxDump << key << _T(" : ") << pa << _T("\n");
#endif
}
Wyniki z tego programu są następujące:
Lisa : a CAge at $4724 11
Marge : a CAge at $47A8 35
Homer : a CAge at $4766 36
Bart : a CAge at $45D4 13
CMapStringToOb::GetSize
Zwraca liczbę elementów mapy.
INT_PTR GetSize() const;
Wartość zwracana
Liczba elementów na mapie.
Uwagi
Wywołaj tę metodę, aby pobrać liczbę elementów na mapie.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::GetSize
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
INT_PTR GetSize() const; |
CMapPtrToWord |
INT_PTR GetSize() const; |
CMapStringToPtr |
INT_PTR GetSize() const; |
CMapStringToString |
INT_PTR GetSize() const; |
CMapWordToOb |
INT_PTR GetSize() const; |
CMapWordToPtr |
INT_PTR GetSize() const; |
Przykład
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetSize() == 2);
CMapStringToOb::GetStartPosition
Uruchamia iterację mapy, zwracając POSITION
wartość, którą można przekazać do wywołania GetNextAssoc
.
POSITION GetStartPosition() const;
Wartość zwracana
POSITION
Wartość wskazująca pozycję początkową do iterowania mapy lub NULL
jeśli mapa jest pusta.
Uwagi
Sekwencja iteracji nie jest przewidywalna; dlatego "pierwszy element na mapie" nie ma specjalnego znaczenia.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::GetStartPosition
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
POSITION GetStartPosition() const; |
CMapPtrToWord |
POSITION GetStartPosition() const; |
CMapStringToPtr |
POSITION GetStartPosition() const; |
CMapStringToString |
POSITION GetStartPosition() const; |
CMapWordToOb |
POSITION GetStartPosition() const; |
CMapWordToPtr |
POSITION GetStartPosition() const; |
Przykład
Zobacz przykład dla elementu CMapStringToOb::GetNextAssoc
.
CMapStringToOb::HashKey
Oblicza wartość skrótu określonego klucza.
UINT HashKey(LPCTSTR key) const;
Parametry
key
Klucz, którego wartość skrótu ma być obliczana.
Wartość zwracana
Wartość skrótu klucza
Uwagi
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::HashKey
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
UINT HashKey( void *key ) const; |
CMapPtrToWord |
UINT HashKey( void *key ) const; |
CMapStringToString |
UINT HashKey( LPCTSTR key ) const; |
CMapStringToPtr |
UINT HashKey( LPCTSTR key ) const; |
CMapWordToOb |
UINT HashKey( WORD key ) const; |
CMapWordToPtr |
UINT HashKey( WORD key ) const; |
CMapStringToOb::InitHashTable
Inicjuje tabelę skrótów.
void InitHashTable(
UINT hashSize,
BOOL bAllocNow = TRUE);
Parametry
hashSize
Liczba wpisów w tabeli skrótów.
bAllocNow
Jeśli TRUE
wartość , przydziela tabelę skrótów podczas inicjowania; w przeciwnym razie tabela zostanie przydzielona w razie potrzeby.
Uwagi
Aby uzyskać najlepszą wydajność, rozmiar tabeli skrótu powinien być liczbą pierwszą. Aby zminimalizować kolizje, rozmiar powinien być około 20 procent większy niż największy przewidywany zestaw danych.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::InitHashTable
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapPtrToWord |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapStringToString |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapStringToPtr |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapWordToOb |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapWordToPtr |
void InitHashTable( UINT hashSize , BOOL bAllocNow = TRUE ); |
CMapStringToOb::IsEmpty
Określa, czy mapa jest pusta.
BOOL IsEmpty() const;
Wartość zwracana
Niezerowe, jeśli ta mapa nie zawiera żadnych elementów; w przeciwnym razie 0.
Przykład
Zobacz przykład dla elementu RemoveAll
.
Uwagi
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb:: IsEmpty
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
BOOL IsEmpty() const; |
CMapPtrToWord |
BOOL IsEmpty() const; |
CMapStringToPtr |
BOOL IsEmpty() const; |
CMapStringToString |
BOOL IsEmpty() const; |
CMapWordToOb |
BOOL IsEmpty() const; |
CMapWordToPtr |
BOOL IsEmpty() const; |
CMapStringToOb::Lookup
CObject
Zwraca wskaźnik na CString
podstawie wartości.
BOOL Lookup(
LPCTSTR key,
CObject*& rValue) const;
Parametry
key
Określa klucz ciągu, który identyfikuje element do wyszukania.
rValue
Określa zwracaną wartość z elementu looked-up.
Wartość zwracana
Niezero, jeśli element został znaleziony; w przeciwnym razie 0.
Uwagi
Lookup
używa algorytmu tworzenia skrótów, aby szybko znaleźć element mapy z kluczem, który pasuje dokładnie ( CString
wartość).
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::LookUp
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
BOOL Lookup( void *key , void*& rValue ) const; |
CMapPtrToWord |
BOOL Lookup( void *key , WORD& rValue ) const; |
CMapStringToPtr |
BOOL Lookup( LPCTSTR key , void*& rValue ) const; |
CMapStringToString |
BOOL Lookup( LPCTSTR key , CString& rValue ) const; |
CMapWordToOb |
BOOL Lookup( WORD key , CObject*& rValue ) const; |
CMapWordToPtr |
BOOL Lookup( WORD key , void*& rValue ) const; |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
CAge *pa;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
ASSERT(map.Lookup(_T("Lisa"), (CObject *&)pa)); // Is "Lisa" in the map?
ASSERT(*pa == CAge(11)); // Is she 11?
CMapStringToOb::LookupKey
Zwraca odwołanie do klucza skojarzonego z określoną wartością klucza.
BOOL LookupKey(
LPCTSTR key,
LPCTSTR& rKey) const;
Parametry
key
Określa klucz ciągu, który identyfikuje element do wyszukania.
rKey
Odwołanie do skojarzonego klucza.
Wartość zwracana
Niezero, jeśli klucz został znaleziony; w przeciwnym razie 0.
Uwagi
Użycie odwołania do klucza jest niebezpieczne, jeśli jest używane po usunięciu skojarzonego elementu z mapy lub po zniszczeniu mapy.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb:: LookupKey
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapStringToPtr |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToString |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToOb::operator [ ]
Wygodny zamiennik funkcji składowej SetAt
.
CObject*& operator[ ](lpctstr key);
Wartość zwracana
Odwołanie do wskaźnika do CObject
obiektu; lub NULL
jeśli mapa jest pusta lub key
jest poza zakresem.
Uwagi
W związku z tym można go używać tylko po lewej stronie instrukcji przypisania (an l-value
). 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.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::operator []
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtrR | void*& operator[](void *key ); |
CMapPtrToWord | WORD& operator[](void *key ); |
CMapStringToPtr | void*& operator[](lpctstr key ); |
CMapStringToString | CString& operator[](lpctstr key ); |
CMapWordToOb | CObject*& operator[](word key ); |
CMapWordToPtr | void*& operator[](word key ); |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
map[_T("Bart")] = new CAge(13);
map[_T("Lisa")] = new CAge(11);
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("Operator [] example: ") << &map << _T("\n");
#endif
Wyniki z tego programu są następujące:
Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13
CMapStringToOb::RemoveAll
Usuwa wszystkie elementy z tej mapy i niszczy CString
obiekty kluczy.
void RemoveAll();
Uwagi
Obiekty CObject
, do których odwołuje się każdy klucz, nie są niszczone. Funkcja RemoveAll
może spowodować przecieki pamięci, jeśli nie upewnisz się, że przywoływane CObject
obiekty zostaną zniszczone.
Funkcja działa poprawnie, jeśli mapa jest już pusta.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::RemoveAll
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
void RemoveAll(); |
CMapPtrToWord |
void RemoveAll(); |
CMapStringToPtr |
void RemoveAll(); |
CMapStringToString |
void RemoveAll(); |
CMapWordToOb |
void RemoveAll(); |
CMapWordToPtr |
void RemoveAll(); |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
{
CMapStringToOb map;
CAge age1(13); // Two objects on the stack
CAge age2(36);
map.SetAt(_T("Bart"), &age1);
map.SetAt(_T("Homer"), &age2);
ASSERT(map.GetCount() == 2);
map.RemoveAll(); // CObject pointers removed; objects not removed.
ASSERT(map.GetCount() == 0);
ASSERT(map.IsEmpty());
} // The two CAge objects are deleted when they go out of scope.
CMapStringToOb::RemoveKey
Wyszukuje wpis mapy odpowiadający podanemu kluczowi; następnie, jeśli klucz zostanie znaleziony, usunie wpis.
BOOL RemoveKey(LPCTSTR key);
Parametry
key
Określa ciąg używany do wyszukiwania mapy.
Wartość zwracana
Nonzero, jeśli wpis został znaleziony i pomyślnie usunięty; w przeciwnym razie 0.
Uwagi
Może to spowodować przecieki pamięci, jeśli CObject
obiekt nie zostanie usunięty w innym miejscu.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::RemoveKey
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
BOOL RemoveKey( void *key ); |
CMapPtrToWord |
BOOL RemoveKey( void *key ); |
CMapStringToPtr |
BOOL RemoveKey( LPCTSTR key ); |
CMapStringToString |
BOOL RemoveKey( LPCTSTR key ); |
CMapWordToOb |
BOOL RemoveKey( WORD key ); |
CMapWordToPtr |
BOOL RemoveKey( WORD key ); |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
map.RemoveKey(_T("Lisa")); // Memory leak: CAge object not
// deleted.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("RemoveKey example: ") << &map << _T("\n");
#endif
Wyniki z tego programu są następujące:
RemoveKey example: A CMapStringToOb with 3 elements
[Marge] = a CAge at $49A0 35
[Homer] = a CAge at $495E 36
[Bart] = a CAge at $4634 13
CMapStringToOb::SetAt
Podstawowa oznacza wstawienie elementu na mapie.
void SetAt(
LPCTSTR key,
CObject* newValue);
Parametry
key
Określa ciąg, który jest kluczem nowego elementu.
newValue
Określa CObject
wskaźnik, który jest wartością nowego elementu.
Uwagi
Najpierw szukany jest klucz. Jeśli klucz zostanie znaleziony, odpowiednia wartość zostanie zmieniona; w przeciwnym razie zostanie utworzony nowy element klucz-wartość.
W poniższej tabeli przedstawiono inne funkcje składowe podobne do CMapStringToOb::SetAt
.
Klasa | Funkcja elementów członkowskich |
---|---|
CMapPtrToPtr |
void SetAt( void *key , void *newValue ); |
CMapPtrToWord |
void SetAt( void *key , WORD newValue ); |
CMapStringToPtr |
void SetAt( LPCTSTR key , void *newValue ); |
CMapStringToString |
void SetAt( LPCTSTR key , LPCTSTR newValue ); |
CMapWordToOb |
void SetAt( WORD key , CObject *newValue ); |
CMapWordToPtr |
void SetAt( WORD key , void *newValue ); |
Przykład
Zobacz CObList::CObList
listę klasy używanej CAge
we wszystkich przykładach kolekcji.
CMapStringToOb map;
CAge *pa;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11)); // Map contains 2
// elements.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("before Lisa's birthday: ") << &map << _T("\n");
#endif
if (map.Lookup(_T("Lisa"), (CObject *&)pa))
{ // CAge 12 pointer replaces CAge 11 pointer.
map.SetAt(_T("Lisa"), new CAge(12));
delete pa; // Must delete CAge 11 to avoid memory leak.
}
#ifdef _DEBUG
afxDump << _T("after Lisa's birthday: ") << &map << _T("\n");
#endif
Wyniki z tego programu są następujące:
before Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $493C 11
[Bart] = a CAge at $4654 13
after Lisa's birthday: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $49C0 12
[Bart] = a CAge at $4654 13
Zobacz też
CObject
Klasa
Wykres hierarchii
CMapPtrToPtr
Klasa
CMapPtrToWord
Klasa
CMapStringToPtr
Klasa
CMapStringToString
Klasa
CMapWordToOb
Klasa
CMapWordToPtr
Klasa