Aracılığıyla paylaş


CAtlMap Sınıfı

Bu sınıf, eşleme nesnesi oluşturmak ve yönetmek için yöntemler sağlar.

Sözdizimi

template <typename K,
          typename V,
          class KTraits = CElementTraits<K>,
          class VTraits = CElementTraits<V>>
class CAtlMap

Parametreler

K
Anahtar öğe türü.

V
Değer öğesi türü.

KTraits
Anahtar öğeleri kopyalamak veya taşımak için kullanılan kod. Daha fazla ayrıntı için bkz . CElementTraits Sınıfı .

VTraits
Değer öğelerini kopyalamak veya taşımak için kullanılan kod.

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
CAtlMap::KINARGTYPE Bir anahtar giriş bağımsız değişkeni olarak geçirildiğinde kullanılan tür
CAtlMap::KOUTARGTYPE Bir anahtar çıkış bağımsız değişkeni olarak döndürülürken kullanılan tür.
CAtlMap::VINARGTYPE Bir değer giriş bağımsız değişkeni olarak geçirildiğinde kullanılan tür.
CAtlMap::VOUTARGTYPE Bir değer çıkış bağımsız değişkeni olarak geçirildiğinde kullanılan tür.

Genel Sınıflar

Veri Akışı Adı Açıklama
CAtlMap::CPair Sınıfı Anahtar ve değer öğelerini içeren bir sınıf.

CPair Veri Üyeleri

Veri Akışı Adı Açıklama
CPair::m_key Anahtar öğesini depolayarak veri üyesi.
CPair::m_value Değer öğesini depolayarak veri üyesi.

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CAtlMap::CAtlMap Oluşturucu.
CAtlMap::~CAtlMap Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CAtlMap::AssertValid geçerli değilse CAtlMap bir ASSERT'a neden olmak için bu yöntemi çağırın.
CAtlMap::D isableAutoRehash Nesnenin otomatik olarak yeniden sıkışmasını devre dışı bırakmak için bu yöntemi çağırın CAtlMap .
CAtlMap::EnableAutoRehash Nesnenin otomatik olarak yeniden çalışmasını etkinleştirmek için bu yöntemi çağırın CAtlMap .
CAtlMap::GetAt Öğesini eşlemede belirtilen bir konumda döndürmek için bu yöntemi çağırın.
CAtlMap::GetCount Eşlemedeki öğe sayısını almak için bu yöntemi çağırın.
CAtlMap::GetHashTableSize Eşlemenin karma tablosundaki bölme sayısını belirlemek için bu yöntemi çağırın.
CAtlMap::GetKeyAt nesnesinde belirtilen konumda depolanan anahtarı almak için bu yöntemi çağırın CAtlMap .
CAtlMap::GetNext Nesnesinde depolanan sonraki öğe çiftine bir işaretçi almak için bu yöntemi çağırın CAtlMap .
CAtlMap::GetNextAssoc Yineleme için sonraki öğeyi alır.
CAtlMap::GetNextKey Nesneden sonraki anahtarı almak için bu yöntemi çağırın CAtlMap .
CAtlMap::GetNextValue Nesneden sonraki değeri almak için bu yöntemi çağırın CAtlMap .
CAtlMap::GetStartPosition Eşleme yinelemesi başlatmak için bu yöntemi çağır.
CAtlMap::GetValueAt Nesnede belirli bir konumda depolanan değeri almak için bu yöntemi çağırın CAtlMap .
CAtlMap::InitHashTable Karma tabloyu başlatmak için bu yöntemi çağırın.
CAtlMap::IsEmpty Boş bir eşleme nesnesini test etmek için bu yöntemi çağır.
CAtlMap::Lookup Nesnedeki anahtarları veya değerleri aramak için bu yöntemi çağırın CAtlMap .
CAtlMap::Rehash Nesneyi yeniden silmek için bu yöntemi çağırın CAtlMap .
CAtlMap::RemoveAll Nesneden tüm öğeleri kaldırmak için bu yöntemi çağırın CAtlMap .
CAtlMap::RemoveAtPos nesnesinde verilen konumdaki öğesini kaldırmak için bu yöntemi çağırın CAtlMap .
CAtlMap::RemoveKey Anahtarı verilen nesneden CAtlMap bir öğeyi kaldırmak için bu yöntemi çağırın.
CAtlMap::SetAt Eşlemeye bir öğe çifti eklemek için bu yöntemi çağırın.
CAtlMap::SetOptimalLoad Nesnenin en uygun yükünü ayarlamak için bu yöntemi çağırın CAtlMap .
CAtlMap::SetValueAt Nesnede belirli bir konumda depolanan değeri değiştirmek için bu yöntemi çağırın CAtlMap .

Ortak İşleçler

Veri Akışı Adı Açıklama
CAtlMap::operator[] öğesinin yerini alır veya öğesine CAtlMapyeni bir öğe ekler.

Açıklamalar

CAtlMap , belirli bir türe sahip eşleme dizisi için destek sağlar ve sıralanmamış bir anahtar öğe dizisini ve bunların ilişkili değerlerini yönetir. Öğeler (anahtar ve değerden oluşan) bir karma algoritması kullanılarak depolanır ve bu sayede büyük miktarda veri verimli bir şekilde depolanabilir ve alınabilir.

KTraits ve VTraits parametreleri, öğeleri kopyalamak veya taşımak için gereken ek kodları içeren nitelik sınıflarıdır.

CAtlMap alternatifi CRBMap sınıfı tarafından sunulur. CRBMap anahtar/değer çiftlerini de depolar, ancak farklı performans özellikleri gösterir. Öğe eklemek, anahtar aramak veya nesneden CRBMap bir anahtarı silmek için geçen süre sıra günlüğüne (n) göredir; burada n öğe sayısıdır. için CAtlMapbu işlemlerin tümü genellikle sabit bir zaman alır, ancak en kötü durum senaryoları n sırasına göre olabilir. Bu nedenle, tipik bir durumda, CAtlMap daha hızlıdır.

ile arasındaki CRBMap CAtlMap diğer fark, depolanan öğeler arasında yinelenirken belirginleşir. içinde CRBMap, öğeler sıralı bir düzende ziyaret edilir. içinde CAtlMapöğeler sıralı değildir ve hiçbir düzen çıkarılamaz.

Az sayıda öğe depolanması gerektiğinde bunun yerine CSimpleMap sınıfını kullanmayı göz önünde bulundurun.

Daha fazla bilgi için bkz . ATL Koleksiyon Sınıfları.

Gereksinimler

Üst bilgi: atlcoll.h

CAtlMap::AssertValid

Nesne geçerli değilse bir ASSERT'a neden olmak için bu yöntemi çağırın CAtlMap .

void AssertValid() const;

Açıklamalar

Hata ayıklama derlemelerinde, nesne geçerli değilse bu yöntem bir ASSERT'a CAtlMap neden olur.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::CAtlMap

Oluşturucu.

CAtlMap(
    UINT nBins = 17,
    float fOptimalLoad = 0.75f,
    float fLoThreshold = 0.25f,
    float fHiThreshold = 2.25f,
    UINT nBlockSize = 10) throw ();

Parametreler

nBins
Depolanan öğelere işaretçi sağlayan bölmelerin sayısı. Bölmelerin açıklaması için bu konunun devamında yer alan Açıklamalar bölümüne bakın.

fOptimalLoad
En uygun yük oranı.

fLoThreshold
Yük oranı için daha düşük eşik.

fHiThreshold
Yük oranı için üst eşik.

nBlockSize
Blok boyutu.

Açıklamalar

CAtlMap önce anahtar üzerinde bir karma algoritması kullanarak bir dizin oluşturarak depolanan tüm öğelerine başvurur. Bu dizin, depolanan öğelere yönelik bir işaretçi içeren bir "bin" öğesine başvurur. Bölme zaten kullanılıyorsa, sonraki öğelere erişmek için bir bağlı liste oluşturulur. Bir listede geçiş yapmak, doğru öğeye doğrudan erişmekten daha yavaştır ve bu nedenle eşleme yapısının depolama gereksinimlerini performansla dengelemesi gerekir. Çoğu durumda iyi sonuçlar vermek için varsayılan parametreler seçilmiştir.

Yük oranı, bölme sayısının eşleme nesnesinde depolanan öğe sayısına oranıdır. Eşleme yapısı yeniden hesaplandığında, gerekli bölme sayısını hesaplamak için fOptimalLoad parametre değeri kullanılır. Bu değer CAtlMap::SetOptimalLoad yöntemi kullanılarak değiştirilebilir.

fLoThreshold parametresi, eşlemenin en uygun boyutunu yeniden hesaplamadan önce CAtlMap yük oranının ulaşabileceği düşük değerdir.

fHiThreshold parametresi, nesne eşlemenin en uygun boyutunu yeniden hesaplamadan önce CAtlMap yük oranının ulaşabileceği üst değerdir.

Bu yeniden hesaplama işlemi (yeniden düzenleme olarak bilinir) varsayılan olarak etkindir. Bu işlemi devre dışı bırakmak istiyorsanız, bir kerede çok fazla veri girerken CAtlMap::D isableAutoRehash yöntemini çağırın. CAtlMap::EnableAutoRehash yöntemiyle yeniden etkinleştirin.

nBlockSize parametresi, yeni bir öğe gerektiğinde ayrılan bellek miktarının ölçüsüdür. Daha büyük blok boyutları bellek ayırma yordamlarına yapılan çağrıları azaltır, ancak daha fazla kaynak kullanır.

Verilerin depolanabilmesi için önce CAtlMap::InitHashTable çağrısıyla karma tablosunun başlatılması gerekir.

Örnek

// Create a map which stores a double
// value using an integer key

CAtlMap<int, double> mySinTable;
int i;

// Initialize the Hash Table
mySinTable.InitHashTable(257);

// Add items to the map
for (i = 0; i < 90; i++)
   mySinTable[i] = sin((double)i);

// Confirm the map is valid
mySinTable.AssertValid();

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 90);

// Remove elements with even key values
for (i = 0; i < 90; i += 2)
   mySinTable.RemoveKey(i);

// Confirm the number of elements in the map
ATLASSERT(mySinTable.GetCount() == 45);

// Walk through all the elements in the map.
// First, get start position.
POSITION pos;
int key;
double value;
pos = mySinTable.GetStartPosition();

// Now iterate the map, element by element
while (pos != NULL) 
{
   key = mySinTable.GetKeyAt(pos);
   value = mySinTable.GetNextValue(pos);
}

CAtlMap::~CAtlMap

Yok edici.

~CAtlMap() throw();

Açıklamalar

Ayrılan tüm kaynakları serbesttir.

CAtlMap::CPair Sınıfı

Anahtar ve değer öğelerini içeren bir sınıf.

class CPair : public __POSITION

Açıklamalar

Bu sınıf, eşleme yapısında depolanan anahtar ve değer öğelerine erişmek için CAtlMap::GetNext ve CAtlMap::Lookup yöntemleri tarafından kullanılır.

CAtlMap::D isableAutoRehash

Nesnenin otomatik olarak yeniden sıkışmasını devre dışı bırakmak için bu yöntemi çağırın CAtlMap .

void DisableAutoRehash() throw();

Açıklamalar

Otomatik yeniden azaltma etkinleştirildiğinde (varsayılan olarak budur), yük değeri (bölme sayısının dizide depolanan öğe sayısına oranı) eşlemenin oluşturulduğu sırada belirtilen en yüksek veya en düşük değerleri aşması durumunda karma tablodaki bölme sayısı otomatik olarak yeniden hesaplanır.

DisableAutoRehash en çok haritaya aynı anda çok sayıda öğe eklendiğinde kullanışlıdır. Sınırlar her aşıldığında yeniden azaltma işlemini tetikleme yerine, öğelerini çağırmak DisableAutoRehashve son olarak CAtlMap::EnableAutoRehash çağrısı yapmak daha verimli olur.

CAtlMap::EnableAutoRehash

Nesnenin otomatik olarak yeniden çalışmasını etkinleştirmek için bu yöntemi çağırın CAtlMap .

void EnableAutoRehash() throw();

Açıklamalar

Otomatik yeniden azaltma etkinleştirildiğinde (varsayılan olarak budur), yük değeri (bölme sayısının dizide depolanan öğe sayısına oranı) eşlemenin oluşturulduğu sırada belirtilen en yüksek veya en düşük değerleri aşması durumunda karma tablodaki bölme sayısı otomatik olarak yeniden hesaplanır.

EnableAutoRefreshgenellikle CAtlMap::D isableAutoRehash çağrısının ardından kullanılır.

CAtlMap::GetAt

Öğesini eşlemede belirtilen bir konumda döndürmek için bu yöntemi çağırın.

void GetAt(
    POSITION pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

CPair* GetAt(POSITION& pos) throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

key
Harita anahtarının türünü belirten şablon parametresi.

value
Harita değerinin türünü belirten şablon parametresi.

Dönüş Değeri

Eşlem içinde depolanan geçerli anahtar/değer öğesi çiftine bir işaretçi döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, pos NULL'a eşitse bir onay hatası oluşur.

CAtlMap::GetCount

Eşlemedeki öğe sayısını almak için bu yöntemi çağırın.

size_t GetCount() const throw();

Dönüş Değeri

Eşleme nesnesindeki öğe sayısını döndürür. Tek bir öğe bir anahtar/değer çiftidir.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::GetHashTableSize

Eşlemenin karma tablosundaki bölme sayısını belirlemek için bu yöntemi çağırın.

UINT GetHashTableSize() const throw();

Dönüş Değeri

Karma tablodaki bölme sayısını döndürür. Açıklama için bkz . CAtlMap::CAtlMap .

CAtlMap::GetKeyAt

nesnesinde belirtilen konumda depolanan anahtarı almak için bu yöntemi çağırın CAtlMap .

const K& GetKeyAt(POSITION pos) const throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Dönüş Değeri

Nesnede verilen konumda depolanan anahtara CAtlMap başvuru döndürür.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::GetNext

Nesnesinde depolanan sonraki öğe çiftine bir işaretçi almak için bu yöntemi çağırın CAtlMap .

CPair* GetNext(POSITION& pos) throw();
const CPair* GetNext(POSITION& pos) const throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Dönüş Değeri

Eşlem içinde depolanan bir sonraki anahtar/değer öğesi çiftine bir işaretçi döndürür. Pos konum sayacı her çağrıdan sonra güncelleştirilir. Alınan öğe eşlemenin son öğesiyse, pos NULL olarak ayarlanır.

CAtlMap::GetNextAssoc

Yineleme için sonraki öğeyi alır.

void GetNextAssoc(
    POSITION& pos,
    KOUTARGTYPE key,
    VOUTARGTYPE value) const;

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

key
Harita anahtarının türünü belirten şablon parametresi.

value
Harita değerinin türünü belirten şablon parametresi.

Açıklamalar

Pos konum sayacı her çağrıdan sonra güncelleştirilir. Alınan öğe eşlemenin son öğesiyse, pos NULL olarak ayarlanır.

CAtlMap::GetNextKey

Nesneden sonraki anahtarı almak için bu yöntemi çağırın CAtlMap .

const K& GetNextKey(POSITION& pos) const throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Dönüş Değeri

Haritadaki bir sonraki anahtara başvuru döndürür.

Açıklamalar

Geçerli konum sayacını ( pos) güncelleştirir. Eşlemede başka girdi yoksa konum sayacı NULL olarak ayarlanır.

CAtlMap::GetNextValue

Nesneden sonraki değeri almak için bu yöntemi çağırın CAtlMap .

V& GetNextValue(POSITION& pos) throw();
const V& GetNextValue(POSITION& pos) const throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Dönüş Değeri

Eşlemedeki bir sonraki değere başvuru döndürür.

Açıklamalar

Geçerli konum sayacını ( pos) güncelleştirir. Eşlemede başka girdi yoksa konum sayacı NULL olarak ayarlanır.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::GetStartPosition

Eşleme yinelemesi başlatmak için bu yöntemi çağır.

POSITION GetStartPosition() const throw();

Dönüş Değeri

Başlangıç konumunu döndürür veya eşleme boşsa NULL döndürülür.

Açıklamalar

Yöntemine geçirilebilen bir POSITION değeri döndürerek eşleme yinelemesi başlatmak için bu yöntemi çağırın GetNextAssoc .

Not

Yineleme sırası tahmin edilebilir değil

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::GetValueAt

Nesnede belirli bir konumda depolanan değeri almak için bu yöntemi çağırın CAtlMap .

V& GetValueAt(POSITION pos) throw();
const V& GetValueAt(POSITION pos) const throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Dönüş Değeri

nesnesinde verilen konumda depolanan değere CAtlMap başvuru döndürür.

CAtlMap::InitHashTable

Karma tabloyu başlatmak için bu yöntemi çağırın.

bool InitHashTable(
    UINT nBins,
    bool bAllocNow = true);

Parametreler

nBins
Karma tablo tarafından kullanılan bölme sayısı. Açıklama için bkz . CAtlMap::CAtlMap .

bAllocNow
Belleğin ne zaman ayrılması gerektiğini gösteren bayrak.

Dönüş Değeri

Başarılı başlatmada TRUE, hatada YANLIŞ döndürür.

Açıklamalar

InitHashTable karma tablosunda herhangi bir öğe depolanmadan önce çağrılmalıdır. Bu yöntem açıkça çağrılmazsa, oluşturucu tarafından CAtlMap belirtilen bölme sayısı kullanılarak bir öğe ilk kez eklendiğinde otomatik olarak çağrılır. Aksi takdirde, eşleme nBins parametresi tarafından belirtilen yeni bölme sayısı kullanılarak başlatılır.

bAllocNow parametresi false ise, karma tablo için gereken bellek ilk gerekli olana kadar ayrılmaz. Bu, haritanın kullanılıp kullanılmayacağı belirsizse yararlı olabilir.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::IsEmpty

Boş bir eşleme nesnesini test etmek için bu yöntemi çağır.

bool IsEmpty() const throw();

Dönüş Değeri

Eşleme boşsa TRUE, aksi takdirde YANLIŞ döndürür.

CAtlMap::KINARGTYPE

Bir anahtar giriş bağımsız değişkeni olarak geçirildiğinde kullanılan tür.

typedef KTraits::INARGTYPE KINARGTYPE;

CAtlMap::KOUTARGTYPE

Bir anahtar çıkış bağımsız değişkeni olarak döndürülürken kullanılan tür.

typedef KTraits::OUTARGTYPE KOUTARGTYPE;

CAtlMap::Lookup

Nesnedeki anahtarları veya değerleri aramak için bu yöntemi çağırın CAtlMap .

bool Lookup(KINARGTYPE key, VOUTARGTYPE value) const;
const CPair* Lookup(KINARGTYPE key) const throw();
CPair* Lookup(KINARGTYPE key) throw();

Parametreler

key
Aranacak öğeyi tanımlayan anahtarı belirtir.

value
Arama değerini alan değişken.

Dönüş Değeri

Yöntemin ilk biçimi, anahtar bulunursa true, aksi takdirde false döndürür. İkinci ve üçüncü formlar, CAtlMap::GetNext vb. çağrıları için konum olarak kullanılabilecek bir CPair işaretçisi döndürür.

Açıklamalar

Lookup verilen anahtar parametresiyle tam olarak eşleşen bir anahtar içeren eşleme öğesini hızla bulmak için bir karma algoritması kullanır.

CAtlMap::operator []

öğesinin yerini alır veya öğesine CAtlMapyeni bir öğe ekler.

V& operator[](kinargtype key) throw();

Parametreler

key
Eklenecek veya değiştirilecek öğenin anahtarı.

Dönüş Değeri

Verilen anahtarla ilişkili değere başvuru döndürür.

Örnek

Anahtar zaten varsa, öğesi değiştirilir. Anahtar yoksa yeni bir öğe eklenir. CAtlMap::CAtlMap örneğine bakın.

CAtlMap::Rehash

Nesneyi yeniden silmek için bu yöntemi çağırın CAtlMap .

void Rehash(UINT nBins = 0);

Parametreler

nBins
Karma tabloda kullanılacak yeni bölme sayısı. Açıklama için bkz . CAtlMap::CAtlMap .

Açıklamalar

nBins 0 ise, CAtlMap haritadaki öğe sayısına ve en uygun yük ayarına göre makul bir sayı hesaplar. Normalde yeniden oluşturma işlemi otomatiktir, ancak CAtlMap::D isableAutoRehash çağrıldıysa, bu yöntem gerekli yeniden boyutlandırmayı gerçekleştirir.

CAtlMap::RemoveAll

Nesneden tüm öğeleri kaldırmak için bu yöntemi çağırın CAtlMap .

void RemoveAll() throw();

Açıklamalar

Öğeleri depolamak CAtlMap için kullanılan belleği boşaltarak nesnesini temizler.

CAtlMap::RemoveAtPos

nesnesinde verilen konumdaki öğesini kaldırmak için bu yöntemi çağırın CAtlMap .

void RemoveAtPos(POSITION pos) throw();

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

Açıklamalar

Belirtilen konumda depolanan anahtar/değer çiftini kaldırır. öğesini depolamak için kullanılan bellek serbesttir. Pos tarafından başvuruda bulunan POSITION geçersiz olur ve haritadaki diğer öğelerin POSITION değeri geçerli kalırken, aynı sırayı korumaları gerekmez.

CAtlMap::RemoveKey

Anahtarı verilen nesneden CAtlMap bir öğeyi kaldırmak için bu yöntemi çağırın.

bool RemoveKey(KINARGTYPE key) throw();

Parametreler

key
Kaldırmak istediğiniz öğe çiftine karşılık gelen anahtar.

Dönüş Değeri

Anahtar bulunur ve kaldırılırsa TRUE, hata durumunda YANLIŞ döndürür.

Örnek

CAtlMap::CAtlMap örneğine bakın.

CAtlMap::SetAt

Eşlemeye bir öğe çifti eklemek için bu yöntemi çağırın.

POSITION SetAt(
    KINARGTYPE key,
    VINARGTYPE value);

Parametreler

key
Nesneye CAtlMap eklenecek anahtar değeri.

value
Nesneye CAtlMap eklenecek değer.

Dönüş Değeri

Nesnedeki anahtar/değer öğesi çiftinin CAtlMap konumunu döndürür.

Açıklamalar

SetAt eşleşen bir anahtar bulunursa mevcut bir öğeyi değiştirir. Anahtar bulunamazsa yeni bir anahtar/değer çifti oluşturulur.

CAtlMap::SetOptimalLoad

Nesnenin en uygun yükünü ayarlamak için bu yöntemi çağırın CAtlMap .

void SetOptimalLoad(
    float fOptimalLoad,
    float fLoThreshold,
    float fHiThreshold,
    bool bRehashNow = false);

Parametreler

fOptimalLoad
En uygun yük oranı.

fLoThreshold
Yük oranı için daha düşük eşik.

fHiThreshold
Yük oranı için üst eşik.

bRehashNow
Karma tablosunun yeniden hesaplanması gerekip gerekmediğini gösteren bayrak.

Açıklamalar

Bu yöntem nesne için CAtlMap en uygun yük değerini yeniden tanımlar. Çeşitli parametrelerin tartışması için bkz . CAtlMap::CAtlMap . bRehashNow true ise ve öğe sayısı en düşük ve en yüksek değerlerin dışındaysa karma tablo yeniden hesaplanır.

CAtlMap::SetValueAt

Nesnede belirli bir konumda depolanan değeri değiştirmek için bu yöntemi çağırın CAtlMap .

void SetValueAt(
    POSITION pos,
    VINARGTYPE value);

Parametreler

Pos
Önceki CAtlMap::GetNextAssoc veya CAtlMap::GetStartPosition çağrısı tarafından döndürülen konum sayacı.

value
Nesneye CAtlMap eklenecek değer.

Açıklamalar

Nesnede belirtilen konumda CAtlMap depolanan değer öğesini değiştirir.

CAtlMap::VINARGTYPE

Bir değer giriş bağımsız değişkeni olarak geçirildiğinde kullanılan tür.

typedef VTraits::INARGTYPE VINARGTYPE;

CAtlMap::VOUTARGTYPE

Bir değer çıkış bağımsız değişkeni olarak geçirildiğinde kullanılan tür.

typedef VTraits::OUTARGTYPE VOUTARGTYPE;

CAtlMap::CPair::m_key

Anahtar öğesini depolayarak veri üyesi.

const K m_key;

Parametreler

K
Anahtar öğe türü.

CAtlMap::CPair::m_value

Değer öğesini depolayarak veri üyesi.

V  m_value;

Parametreler

V
Değer öğesi türü.

Ayrıca bkz.

Kayan Yazı Örneği
UpdatePV Örneği
Sınıfa Genel Bakış