Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 SetAtiş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ş CStringbir -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:: CMapStringToObdiğ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 CObList::CObList listesi için bkzCAge.
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::GetCountdiğ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 CObList::CObList listesi için bkzCAge.
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::GetHashTableSizediğ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 rNextPositionalı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 NULLayarlanı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::GetNextAssocdiğ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 CObList::CObList listesi için bkzCAge.
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::GetSizediğ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::GetStartPositiondiğ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::GetNextAssocbakı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::HashKeydiğ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::InitHashTablediğ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 RemoveAllbakın.
Açıklamalar
Aşağıdaki tabloda, benzeri CMapStringToOb:: IsEmptydiğ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 CObjectCString 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::LookUpdiğ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 CObList::CObList listesi için bkzCAge.
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:: LookupKeydiğ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 NULLkey 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 CObList::CObList listesi için bkzCAge.
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 RemoveAll bulunan CObject 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::RemoveAlldiğ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 CObList::CObList listesi için bkzCAge.
{
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::RemoveKeydiğ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 CObList::CObList listesi için bkzCAge.
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::SetAtdiğ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 CObList::CObList listesi için bkzCAge.
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