Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Szótárgyűjteményi osztály, amely egyedi CString objektumokat képez le mutatókhoz CObject .
Szemantika
class CMapStringToOb : public CObject
Tagok
Nyilvános konstruktorok
| Név | Leírás |
|---|---|
CMapStringToOb::CMapStringToOb |
Konstruktor. |
Nyilvános metódusok
| Név | Leírás |
|---|---|
CMapStringToOb::GetCount |
A térkép elemeinek számát adja vissza. |
CMapStringToOb::GetHashTableSize |
Meghatározza a kivonattáblában lévő elemek aktuális számát. |
CMapStringToOb::GetNextAssoc |
Lekéri az iterálás következő elemét. |
CMapStringToOb::GetSize |
A térkép elemeinek számát adja vissza. |
CMapStringToOb::GetStartPosition |
Az első elem pozícióját adja vissza. |
CMapStringToOb::HashKey |
Kiszámítja egy adott kulcs kivonatértékét. |
CMapStringToOb::InitHashTable |
Inicializálja a kivonattáblát. |
CMapStringToOb::IsEmpty |
Az üres leképezési feltétel (elemek nélkül) tesztelése. |
CMapStringToOb::Lookup |
Üres mutatót keres a void mutatókulcs alapján. A mutató értéke, nem az entitás, amelyre mutat, a kulcs összehasonlítására szolgál. |
CMapStringToOb::LookupKey |
A megadott kulcsértékhez társított kulcsra mutató hivatkozást ad vissza. |
CMapStringToOb::RemoveAll |
Eltávolítja a térkép összes elemét. |
CMapStringToOb::RemoveKey |
Eltávolít egy kulcs által megadott elemet. |
CMapStringToOb::SetAt |
Elem beszúrása a térképre; lecserél egy meglévő elemet, ha talál egy megfelelő kulcsot. |
Nyilvános operátorok
| Név | Leírás |
|---|---|
CMapStringToOb::operator [ ] |
Elem beszúrása a térképbe – operátorhelyettesítés a következőhöz SetAt: . |
Megjegyzések
Miután beszúrt egy CString- CObject* párot (elemet) a térképre, hatékonyan lekérheti vagy törölheti a párokat egy sztring vagy érték CString használatával kulcsként. A térkép összes elemét át is iterálhatja.
A rendszer egy típusváltozót POSITION használ az alternatív belépési hozzáféréshez minden térképvariációban. Egy bejegyzés "megjegyezésére" és a térképen való iterálásra használható POSITION . Azt gondolhatja, hogy ez az iteráció a kulcsértékek szerint szekvenciális; Nem az. A beolvasott elemek sorrendje meghatározatlan.
CMapStringToOb a makrót beépíti az IMPLEMENT_SERIAL elemek szerializálásának és memóriaképének támogatására. Minden elem egymás után szerializálódik, ha egy térképet egy archívumban tárol, akár a túlterhelt beszúrási ( <<) operátorral, akár a Serialize tagfüggvénnyel.
Ha diagnosztikai memóriaképre van szüksége a térkép egyes elemeiről (az CString értékről és a CObject tartalomról), a memóriakép-környezet mélységét 1 vagy nagyobbra kell állítania.
CMapStringToOb Egy objektum törlésekor vagy elemeinek eltávolításakor a rendszer eltávolítja az CString objektumokat és a CObject mutatókat. A mutatók által CObject hivatkozott objektumok nem pusztulnak el.
A térképosztály származtatása hasonló a lista származtatásához. A gyűjtemények című cikk egy speciális célú listaosztály származtatását szemlélteti.
Öröklési hierarchia
CMapStringToOb
Követelmények
fejléc:afxcoll.h
CMapStringToOb::CMapStringToOb
Egy üres CString-to- CObject* térképet hoz létre.
CMapStringToOb(INT_PTR nBlockSize = 10);
Paraméterek
nBlockSize
Megadja a térkép kiterjesztéséhez szükséges memóriafoglalás részletességét.
Megjegyzések
A térkép növekedésével a rendszer bejegyzésegységekben nBlockSize foglalja le a memóriát.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb:: CMapStringToOb:
| Osztály | Tagfüggvény |
|---|---|
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 ); |
példa
CMapStringToOb map(20); // Map on the stack with blocksize of 20
CMapStringToOb *pm = new CMapStringToOb; // Map on the heap
// with default blocksize
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
CMapStringToOb::GetCount
Meghatározza, hogy hány elem szerepel a térképen.
INT_PTR GetCount() const;
Visszaadott érték
A térkép elemeinek száma.
Megjegyzések
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::GetCount:
| Osztály | Tagfüggvény |
|---|---|
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; |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetCount() == 2);
CMapStringToOb::GetHashTableSize
Meghatározza a kivonattáblában lévő elemek aktuális számát.
UINT GetHashTableSize() const;
Visszaadott érték
A kivonattáblában lévő elemek számát adja vissza.
Megjegyzések
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::GetHashTableSize:
| Osztály | Tagfüggvény |
|---|---|
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
Lekéri a térképelemet a következő helyen rNextPosition, majd frissíti rNextPosition a térkép következő elemére való hivatkozáshoz.
void GetNextAssoc(
POSITION& rNextPosition,
CString& rKey,
CObject*& rValue) const;
Paraméterek
rNextPosition
Egy előző GetNextAssoc vagy GetStartPosition hívás által visszaadott POZÍCIÓ értékre mutató hivatkozást ad meg.
rKey
A lekért elem visszaadott kulcsát (sztringet) adja meg.
rValue
A lekért elem ( CObject mutató) visszaadott értékét adja meg. A paraméterről további információt a megjegyzésekben talál.
Megjegyzések
Ez a függvény leginkább a térkép összes elemének iterálásához hasznos. Vegye figyelembe, hogy a pozícióütemezés nem feltétlenül ugyanaz, mint a kulcsérték-sorozat.
Ha a lekért elem az utolsó a térképen, akkor az új érték rNextPosition a következőre NULLvan állítva: .
rValue A paraméter esetében ügyeljen arra, hogy az objektumtípust a fordító által megkövetelt értékre CObject*&állítsa, ahogy az alábbi példában látható:
CObject *ob;
map.GetNextAssoc(pos, key, (CObject *&)ob);
Ez nem igaz a GetNextAssoc sablonokon alapuló térképekre.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::GetNextAssoc:
| Osztály | Tagfüggvény |
|---|---|
| CMapPtrToPtr | 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; |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
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
}
A program eredményei a következők:
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
A térképelemek számát adja vissza.
INT_PTR GetSize() const;
Visszaadott érték
A térkép elemeinek száma.
Megjegyzések
Hívja meg ezt a metódust a térkép elemeinek számának lekéréséhez.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::GetSize:
| Osztály | Tagfüggvény |
|---|---|
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; |
példa
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetSize() == 2);
CMapStringToOb::GetStartPosition
Elindít egy leképezési iterációt egy POSITION olyan érték visszaadásával, amely átadható egy GetNextAssoc hívásnak.
POSITION GetStartPosition() const;
Visszaadott érték
Olyan POSITION érték, amely a térkép iterálásának kezdő pozícióját jelzi; vagy NULL ha a térkép üres.
Megjegyzések
Az iterációs sorrend nem kiszámítható; ezért a "térkép első eleme" nem rendelkezik különleges jelentőséggel.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::GetStartPosition:
| Osztály | Tagfüggvény |
|---|---|
CMapPtrToPtr |
POSITION GetStartPosition() const; |
CMapPtrToWord |
POSITION GetStartPosition() const; |
CMapStringToPtr |
POSITION GetStartPosition() const; |
CMapStringToString |
POSITION GetStartPosition() const; |
CMapWordToOb |
POSITION GetStartPosition() const; |
CMapWordToPtr |
POSITION GetStartPosition() const; |
példa
Lásd a példát a CMapStringToOb::GetNextAssoc.
CMapStringToOb::HashKey
Kiszámítja egy adott kulcs kivonatértékét.
UINT HashKey(LPCTSTR key) const;
Paraméterek
key
Az a kulcs, amelynek kivonatértékét ki kell számítani.
Visszaadott érték
A kulcs kivonatértéke
Megjegyzések
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::HashKey:
| Osztály | Tagfüggvény |
|---|---|
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
Inicializálja a kivonattáblát.
void InitHashTable(
UINT hashSize,
BOOL bAllocNow = TRUE);
Paraméterek
hashSize
A kivonattáblában lévő bejegyzések száma.
bAllocNow
Ha TRUEaz inicializáláskor lefoglalja a kivonattáblát, ellenkező esetben a rendszer szükség esetén lefoglalja a táblát.
Megjegyzések
A legjobb teljesítmény érdekében a kivonattábla méretének prímszámnak kell lennie. Az ütközések minimalizálása érdekében a méretnek nagyjából 20 százalékkal nagyobbnak kell lennie, mint a legnagyobb várható adatkészlet.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::InitHashTable:
| Osztály | Tagfüggvény |
|---|---|
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
Meghatározza, hogy a térkép üres-e.
BOOL IsEmpty() const;
Visszaadott érték
Nonzero, ha ez a térkép nem tartalmaz elemeket; egyéb esetben 0.
példa
Lásd a példát a RemoveAll.
Megjegyzések
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb:: IsEmpty:
| Osztály | Tagfüggvény |
|---|---|
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
Egy értéken alapuló mutatót CObject ad CString vissza.
BOOL Lookup(
LPCTSTR key,
CObject*& rValue) const;
Paraméterek
key
Megadja a keresendő elemet azonosító sztringkulcsot.
rValue
A keresett elem visszaadott értékét adja meg.
Visszaadott érték
Nemzero, ha az elem megtalálható; egyéb esetben 0.
Megjegyzések
Lookup kivonatoló algoritmussal gyorsan megtalálhatja a térképelemet egy pontosan (CString érték) megfelelő kulccsal.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::LookUp:
| Osztály | Tagfüggvény |
|---|---|
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; |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
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
A megadott kulcsértékhez társított kulcsra mutató hivatkozást ad vissza.
BOOL LookupKey(
LPCTSTR key,
LPCTSTR& rKey) const;
Paraméterek
key
Megadja a keresendő elemet azonosító sztringkulcsot.
rKey
A társított kulcsra mutató hivatkozás.
Visszaadott érték
Nemzero, ha a kulcs megtalálható; egyéb esetben 0.
Megjegyzések
A kulcsra mutató hivatkozás használata nem biztonságos, ha a társított elem a térképről való eltávolítása vagy a térkép megsemmisítése után használatos.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb:: LookupKey:
| Osztály | Tagfüggvény |
|---|---|
CMapStringToPtr |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToString |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToOb::operator [ ]
A tagfüggvény kényelmes helyettesítője SetAt .
CObject*& operator[ ](lpctstr key);
Visszaadott érték
Hivatkozás egy objektumra mutató mutatóra CObject , vagy NULL ha a térkép üres, vagy key a tartományon kívül esik.
Megjegyzések
Így csak a hozzárendelési utasítás (an l-value) bal oldalán használható. Ha nincs térképelem a megadott kulccsal, akkor létrejön egy új elem.
Ennek az operátornak nincs "jobb oldali" (r-value) megfelelője, mert lehetséges, hogy nem található kulcs a térképen. Elemlekéréshez használja a Lookup tagfüggvényt.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::operator []:
| Osztály | Tagfüggvény |
|---|---|
| CMapPtrToPtr | 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 ); |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
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
A program eredményei a következők:
Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13
CMapStringToOb::RemoveAll
Eltávolítja a térkép összes elemét, és megsemmisíti a CString kulcsobjektumokat.
void RemoveAll();
Megjegyzések
Az CObject egyes kulcsok által hivatkozott objektumok nem lesznek megsemmisítve. A RemoveAll függvény memóriavesztést okozhat, ha nem győződik meg arról, hogy a hivatkozott CObject objektumok megsemmisülnek.
A függvény megfelelően működik, ha a térkép már üres.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::RemoveAll:
| Osztály | Tagfüggvény |
|---|---|
CMapPtrToPtr |
void RemoveAll(); |
CMapPtrToWord |
void RemoveAll(); |
CMapStringToPtr |
void RemoveAll(); |
CMapStringToString |
void RemoveAll(); |
CMapWordToOb |
void RemoveAll(); |
CMapWordToPtr |
void RemoveAll(); |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
{
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
Megkeresi a megadott kulcsnak megfelelő térképbejegyzést; ezután, ha a kulcs megtalálható, eltávolítja a bejegyzést.
BOOL RemoveKey(LPCTSTR key);
Paraméterek
key
A térképkereséshez használt sztringet adja meg.
Visszaadott érték
Nemzero, ha a bejegyzés megtalálható és sikeresen el lett távolítva; egyéb esetben 0.
Megjegyzések
Ez memóriavesztést okozhat, ha az CObject objektumot nem törlik máshol.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::RemoveKey:
| Osztály | Tagfüggvény |
|---|---|
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 ); |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
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
A program eredményei a következők:
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
Az elsődleges azt jelenti, hogy egy elemet beszúr egy térképbe.
void SetAt(
LPCTSTR key,
CObject* newValue);
Paraméterek
key
Megadja az új elem kulcsát tartalmazó sztringet.
newValue
Megadja az CObject új elem értékét jelző mutatót.
Megjegyzések
Először is, a kulcs fel van keresve. Ha a kulcs megtalálható, a megfelelő érték megváltozik; ellenkező esetben létrejön egy új kulcs-érték elem.
Az alábbi táblázat a többi tagfüggvényt mutatja be, amelyek hasonlóak a következőhöz CMapStringToOb::SetAt:
| Osztály | Tagfüggvény |
|---|---|
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 ); |
példa
Tekintse meg CObList::CObList az CAge összes gyűjtemény-példában használt osztály listáját.
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
A program eredményei a következők:
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
Lásd még
CObject osztály
hierarchiadiagram
CMapPtrToPtr osztály
CMapPtrToWord osztály
CMapStringToPtr osztály
CMapStringToString osztály
CMapWordToOb osztály
CMapWordToPtr osztály