CMapStringToOb
Sınıf
Benzersiz CString
nesneleri CObject
işaretçilerle eşleyen bir sözlük koleksiyonu sınıfı.
Sözdizimi
class CMapStringToOb : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CMapStringToOb::CMapStringToOb |
Oluşturucu. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CMapStringToOb::GetCount |
Bu haritadaki öğe sayısını döndürür. |
CMapStringToOb::GetHashTableSize |
Karma tablodaki geçerli öğe sayısını belirler. |
CMapStringToOb::GetNextAssoc |
Yineleme için sonraki öğeyi alır. |
CMapStringToOb::GetSize |
Bu haritadaki öğe sayısını döndürür. |
CMapStringToOb::GetStartPosition |
İlk öğenin konumunu döndürür. |
CMapStringToOb::HashKey |
Belirtilen anahtarın karma değerini hesaplar. |
CMapStringToOb::InitHashTable |
Karma tabloyu başlatır. |
CMapStringToOb::IsEmpty |
Boş eşleme koşulu (öğe yok) için testler. |
CMapStringToOb::Lookup |
Void işaretçisi tuşuna göre bir void işaretçisi arar. İşaretçi değeri, işaret edilen varlık değil, anahtar karşılaştırması için kullanılır. |
CMapStringToOb::LookupKey |
Belirtilen anahtar değeriyle ilişkili anahtara başvuru döndürür. |
CMapStringToOb::RemoveAll |
Bu haritadan tüm öğeleri kaldırır. |
CMapStringToOb::RemoveKey |
Bir anahtar tarafından belirtilen bir öğeyi kaldırır. |
CMapStringToOb::SetAt |
Eşlem içine bir öğe ekler; eşleşen bir anahtar bulunursa mevcut bir öğeyi değiştirir. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CMapStringToOb::operator [ ] |
Eşlemeye bir öğe ekler— için SetAt işleç değişimi. |
Açıklamalar
Eşleme bir CString
- CObject*
çift (öğe) ekledikten sonra, bir dize veya anahtar olarak bir CString
değer kullanarak çifti verimli bir şekilde alabilir veya silebilirsiniz. Ayrıca haritadaki tüm öğeleri yineleyebilirsiniz.
Türündeki POSITION
bir değişken, tüm eşleme varyasyonlarında alternatif giriş erişimi için kullanılır. Bir girdiyi "hatırlamak" ve haritada yinelemek için kullanabilirsiniz POSITION
. Bu yinelemenin anahtar değerine göre sıralı olduğunu düşünebilirsiniz; Hayır, değil. Alınan öğelerin dizisi belirsiz.
CMapStringToOb
öğelerinin seri hale getirilmesini IMPLEMENT_SERIAL
ve dökümünün atılması için makroyu birleştirir. Eşlem bir arşive depolandığında, aşırı yüklenmiş ekleme ( <<
) işleciyle veya üye işleviyle Serialize
her öğe sırayla seri hale getirilir.
Eşlemedeki tek tek öğelerin ( CString
değer ve CObject
içerik) tanılama dökümü gerekiyorsa, döküm bağlamının derinliğini 1 veya daha büyük olarak ayarlamanız gerekir.
Bir CMapStringToOb
nesne silindiğinde veya öğeleri kaldırıldığında, CString
nesneler ve CObject
işaretçiler kaldırılır. İşaretçiler tarafından başvuruda bulunan CObject
nesneler yok edilmez.
Eşleme sınıfı türetmesi, liste türetmeye benzer. Özel amaçlı liste sınıfının türetilmesine ilişkin bir çizim için Koleksiyonlar makalesine bakın.
Devralma Hiyerarşisi
CMapStringToOb
Gereksinimler
Üstbilgi: afxcoll.h
CMapStringToOb::CMapStringToOb
Boş CString
bir -to- CObject*
eşlemesi oluşturur.
CMapStringToOb(INT_PTR nBlockSize = 10);
Parametreler
nBlockSize
Eşlemeyi genişletmek için bellek ayırma ayrıntı düzeyini belirtir.
Açıklamalar
Harita büyüdükçe bellek girdi birimlerinde nBlockSize
ayrılır.
Aşağıdaki tabloda, benzeri CMapStringToOb:: CMapStringToOb
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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 ); |
Örnek
CMapStringToOb map(20); // Map on the stack with blocksize of 20
CMapStringToOb *pm = new CMapStringToOb; // Map on the heap
// with default blocksize
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
CMapStringToOb::GetCount
Haritada kaç öğe olduğunu belirler.
INT_PTR GetCount() const;
Dönüş Değeri
Bu haritadaki öğelerin sayısı.
Açıklamalar
Aşağıdaki tabloda, benzeri CMapStringToOb::GetCount
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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; |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetCount() == 2);
CMapStringToOb::GetHashTableSize
Karma tablodaki geçerli öğe sayısını belirler.
UINT GetHashTableSize() const;
Dönüş Değeri
Karma tablodaki öğe sayısını döndürür.
Açıklamalar
Aşağıdaki tabloda, benzeri CMapStringToOb::GetHashTableSize
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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
konumundaki eşleme öğesini rNextPosition
alır, ardından eşlemedeki bir sonraki öğeye başvurmak için güncelleştirilir rNextPosition
.
void GetNextAssoc(
POSITION& rNextPosition,
CString& rKey,
CObject*& rValue) const;
Parametreler
rNextPosition
Önceki GetNextAssoc
veya GetStartPosition
çağrı tarafından döndürülen POSITION değerine başvuru belirtir.
rKey
Alınan öğenin (dize) döndürülen anahtarını belirtir.
rValue
Alınan öğenin (işaretçi CObject
) döndürülen değerini belirtir. Bu parametre hakkında daha fazla bilgi için bkz . Açıklamalar .
Açıklamalar
Bu işlev en çok haritadaki tüm öğeler arasında yineleme yapmak için kullanışlıdır. Konum dizisinin anahtar değer dizisiyle aynı olması gerekmediğini unutmayın.
Alınan öğe eşlemenin son öğesiyse, yeni değeri rNextPosition
olarak NULL
ayarlanır.
parametresi için rValue
, aşağıdaki örnekte gösterildiği gibi, derleyicinin gerektirdiği nesne türünü CObject*&
olarak atamayı unutmayın:
CObject *ob;
map.GetNextAssoc(pos, key, (CObject *&)ob);
Bu, şablonlara dayalı haritalar için geçerli GetNextAssoc
değildir.
Aşağıdaki tabloda, benzeri CMapStringToOb::GetNextAssoc
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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; |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
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
}
Bu programın sonuçları aşağıdaki gibidir:
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
Eşleme öğelerinin sayısını döndürür.
INT_PTR GetSize() const;
Dönüş Değeri
Haritadaki öğelerin sayısı.
Açıklamalar
Eşlemedeki öğe sayısını almak için bu yöntemi çağırın.
Aşağıdaki tabloda, benzeri CMapStringToOb::GetSize
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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; |
Örnek
CMapStringToOb map;
map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Homer"), new CAge(36));
ASSERT(map.GetSize() == 2);
CMapStringToOb::GetStartPosition
Bir çağrıya geçirilebilen bir POSITION
değer döndürerek bir GetNextAssoc
eşleme yinelemesi başlatır.
POSITION GetStartPosition() const;
Dönüş Değeri
POSITION
Eşlemeyi yinelemek için başlangıç konumunu veya NULL
haritanın boş olup olmadığını gösteren değer.
Açıklamalar
Yineleme dizisi tahmin edilebilir değildir; bu nedenle, "haritadaki ilk öğe" özel bir öneme sahip değildir.
Aşağıdaki tabloda, benzeri CMapStringToOb::GetStartPosition
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
CMapPtrToPtr |
POSITION GetStartPosition() const; |
CMapPtrToWord |
POSITION GetStartPosition() const; |
CMapStringToPtr |
POSITION GetStartPosition() const; |
CMapStringToString |
POSITION GetStartPosition() const; |
CMapWordToOb |
POSITION GetStartPosition() const; |
CMapWordToPtr |
POSITION GetStartPosition() const; |
Örnek
örneğine CMapStringToOb::GetNextAssoc
bakın.
CMapStringToOb::HashKey
Belirtilen anahtarın karma değerini hesaplar.
UINT HashKey(LPCTSTR key) const;
Parametreler
key
Karma değeri hesaplanacak anahtar.
Dönüş Değeri
Anahtarın karma değeri
Açıklamalar
Aşağıdaki tabloda, benzeri CMapStringToOb::HashKey
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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
Karma tabloyu başlatır.
void InitHashTable(
UINT hashSize,
BOOL bAllocNow = TRUE);
Parametreler
hashSize
Karma tablodaki girdilerin sayısı.
bAllocNow
ise TRUE
, başlatma sırasında karma tabloyu ayırır; aksi takdirde tablo gerektiğinde ayrılır.
Açıklamalar
En iyi performans için karma tablo boyutu bir asal sayı olmalıdır. Çakışmaları en aza indirmek için boyut, beklenen en büyük veri kümesinden yaklaşık yüzde 20 daha büyük olmalıdır.
Aşağıdaki tabloda, benzeri CMapStringToOb::InitHashTable
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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
Haritanın boş olup olmadığını belirler.
BOOL IsEmpty() const;
Dönüş Değeri
Bu harita öğe içermiyorsa sıfır olmayan; aksi takdirde 0.
Örnek
örneğine RemoveAll
bakın.
Açıklamalar
Aşağıdaki tabloda, benzeri CMapStringToOb:: IsEmpty
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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
Bir değeri temel alan bir CObject
CString
işaretçi döndürür.
BOOL Lookup(
LPCTSTR key,
CObject*& rValue) const;
Parametreler
key
Aranacak öğeyi tanımlayan dize anahtarını belirtir.
rValue
Arama öğesinden döndürülen değeri belirtir.
Dönüş Değeri
Öğe bulunduysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Lookup
, tam olarak eşleşen bir anahtarla ( CString
değer) harita öğesini hızla bulmak için bir karma algoritması kullanır.
Aşağıdaki tabloda, benzeri CMapStringToOb::LookUp
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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; |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
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
Belirtilen anahtar değeriyle ilişkili anahtara başvuru döndürür.
BOOL LookupKey(
LPCTSTR key,
LPCTSTR& rKey) const;
Parametreler
key
Aranacak öğeyi tanımlayan dize anahtarını belirtir.
rKey
İlişkili anahtara başvuru.
Dönüş Değeri
Anahtar bulunduysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İlişkili öğe haritadan kaldırıldıktan sonra veya harita yok edildikten sonra kullanıldığında anahtar başvurusunun kullanılması güvenli değildir.
Aşağıdaki tabloda, benzeri CMapStringToOb:: LookupKey
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
CMapStringToPtr |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToString |
BOOL LookupKey( LPCTSTR key , LPCTSTR& rKey ) const; |
CMapStringToOb::operator [ ]
Üye işlevi için uygun bir SetAt
alternatif.
CObject*& operator[ ](lpctstr key);
Dönüş Değeri
Bir nesne işaretçisine CObject
başvuru veya harita boşsa veya NULL
key
aralık dışındaysa.
Açıklamalar
Bu nedenle, yalnızca atama deyiminin sol tarafında (bir l-value
) kullanılabilir. Belirtilen anahtara sahip eşleme öğesi yoksa yeni bir öğe oluşturulur.
Bu işleçle eşdeğer bir "sağ taraf" (r-value
) yoktur çünkü haritada bir anahtar bulunmama olasılığı vardır. Lookup
Öğe alma için üye işlevini kullanın.
Aşağıdaki tabloda, benzeri CMapStringToOb::operator []
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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 ); |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
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
Bu programın sonuçları aşağıdaki gibidir:
Operator [] example: A CMapStringToOb with 2 elements
[Lisa] = a CAge at $4A02 11
[Bart] = a CAge at $497E 13
CMapStringToOb::RemoveAll
Bu haritadaki tüm öğeleri kaldırır ve anahtar nesneleri yok eder CString
.
void RemoveAll();
Açıklamalar
CObject
Her anahtar tarafından başvuruda bulunan nesneler yok edilmez. Başvuruda CObject
bulunan RemoveAll
nesnelerin yok edilmesini sağlamazsanız işlev bellek sızıntılarına neden olabilir.
Eşleme zaten boşsa işlev düzgün çalışır.
Aşağıdaki tabloda, benzeri CMapStringToOb::RemoveAll
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
CMapPtrToPtr |
void RemoveAll(); |
CMapPtrToWord |
void RemoveAll(); |
CMapStringToPtr |
void RemoveAll(); |
CMapStringToString |
void RemoveAll(); |
CMapWordToOb |
void RemoveAll(); |
CMapWordToPtr |
void RemoveAll(); |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
{
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
Sağlanan anahtara karşılık gelen eşleme girişini arar; daha sonra anahtar bulunursa girişi kaldırır.
BOOL RemoveKey(LPCTSTR key);
Parametreler
key
Eşleme araması için kullanılan dizeyi belirtir.
Dönüş Değeri
Girdi bulunduysa ve başarıyla kaldırıldıysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Nesne başka bir yerde silinmezse CObject
bu durum bellek sızıntılarına neden olabilir.
Aşağıdaki tabloda, benzeri CMapStringToOb::RemoveKey
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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 ); |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
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
Bu programın sonuçları aşağıdaki gibidir:
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
Birincil, bir öğeyi eşlem içine eklemek anlamına gelir.
void SetAt(
LPCTSTR key,
CObject* newValue);
Parametreler
key
Yeni öğenin anahtarı olan dizeyi belirtir.
newValue
CObject
Yeni öğenin değeri olan işaretçiyi belirtir.
Açıklamalar
İlk olarak, anahtar aranmış. Anahtar bulunursa ilgili değer değiştirilir; aksi takdirde yeni bir anahtar-değer öğesi oluşturulur.
Aşağıdaki tabloda, benzeri CMapStringToOb::SetAt
diğer üye işlevleri gösterilmektedir.
Sınıf | Üye İşlevi |
---|---|
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 ); |
Örnek
Tüm koleksiyon örneklerinde kullanılan sınıfın CAge
listesi için bkzCObList::CObList
.
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
Bu programın sonuçları aşağıdaki gibidir:
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
Ayrıca bkz.
CObject
Sınıf
Hiyerarşi Grafiği
CMapPtrToPtr
Sınıf
CMapPtrToWord
Sınıf
CMapStringToPtr
Sınıf
CMapStringToString
Sınıf
CMapWordToOb
Sınıf
CMapWordToPtr
Sınıf