Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse biedt methoden voor het maken en beheren van een kaartobject.
Syntaxis
template <typename K,
typename V,
class KTraits = CElementTraits<K>,
class VTraits = CElementTraits<V>>
class CAtlMap
Parameterwaarden
K
Het type sleutelelement.
V
Het waardeelementtype.
KTraits
De code die wordt gebruikt om sleutelelementen te kopiëren of te verplaatsen. Zie CElementTraits Class voor meer informatie.
VTraits
De code die wordt gebruikt voor het kopiëren of verplaatsen van waarde-elementen.
Leden
Openbare typedefs
| Naam | Description |
|---|---|
| CAtlMap::KINARGTYPE | Type dat wordt gebruikt wanneer een sleutel wordt doorgegeven als invoerargument |
| CAtlMap::KOUTARGTYPE | Type dat wordt gebruikt wanneer een sleutel wordt geretourneerd als een uitvoerargument. |
| CAtlMap::VINARGTYPE | Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als invoerargument. |
| CAtlMap::VOUTARGTYPE | Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als een uitvoerargument. |
Openbare klassen
| Naam | Description |
|---|---|
| CAtlMap::CPair-klasse | Een klasse met de sleutel- en waarde-elementen. |
CPair-gegevensleden
| Naam | Description |
|---|---|
| CPair::m_key | Het gegevenslid dat het sleutelelement opslaat. |
| CPair::m_value | Het gegevenslid dat het waardeelement opslaat. |
Openbare constructors
| Naam | Description |
|---|---|
| CAtlMap::CAtlMap | De constructor. |
| CAtlMap::~CAtlMap | De destructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CAtlMap::AssertValid | Roep deze methode aan om een ASSERT te veroorzaken als de CAtlMap waarde ongeldig is. |
| CAtlMap::D isableAutoRehash | Roep deze methode aan om automatische herhashing van het CAtlMap object uit te schakelen. |
| CAtlMap::EnableAutoRehash | Roep deze methode aan om automatische herhashing van het CAtlMap object in te schakelen. |
| CAtlMap::GetAt | Roep deze methode aan om het element op een opgegeven positie in de kaart te retourneren. |
| CAtlMap::GetCount | Roep deze methode aan om het aantal elementen in de kaart op te halen. |
| CAtlMap::GetHashTableSize | Roep deze methode aan om het aantal bins in de hash-tabel van de kaart te bepalen. |
| CAtlMap::GetKeyAt | Roep deze methode aan om de sleutel op te halen die is opgeslagen op de opgegeven positie in het CAtlMap object. |
| CAtlMap::GetNext | Roep deze methode aan om een aanwijzer te verkrijgen naar het volgende elementpaar dat is opgeslagen in het CAtlMap object. |
| CAtlMap::GetNextAssoc | Hiermee haalt u het volgende element op voor het herhalen. |
| CAtlMap::GetNextKey | Roep deze methode aan om de volgende sleutel op te halen uit het CAtlMap object. |
| CAtlMap::GetNextValue | Roep deze methode aan om de volgende waarde van het CAtlMap object op te halen. |
| CAtlMap::GetStartPosition | Roep deze methode aan om een kaartiteratie te starten. |
| CAtlMap::GetValueAt | Roep deze methode aan om de waarde op te halen die is opgeslagen op een bepaalde positie in het CAtlMap object. |
| CAtlMap::InitHashTable | Roep deze methode aan om de hash-tabel te initialiseren. |
| CAtlMap::IsEmpty | Roep deze methode aan om te testen op een leeg kaartobject. |
| CAtlMap::Lookup | Roep deze methode aan om sleutels of waarden in het CAtlMap object op te zoeken. |
| CAtlMap::Rehash | Roep deze methode aan om het CAtlMap object opnieuw te maken. |
| CAtlMap::RemoveAll | Roep deze methode aan om alle elementen uit het CAtlMap object te verwijderen. |
| CAtlMap::RemoveAtPos | Roep deze methode aan om het element op de opgegeven positie in het CAtlMap object te verwijderen. |
| CAtlMap::RemoveKey | Roep deze methode aan om een element uit het CAtlMap object te verwijderen, op basis van de sleutel. |
| CAtlMap::SetAt | Roep deze methode aan om een elementpaar in de kaart in te voegen. |
| CAtlMap::SetOptimalLoad | Roep deze methode aan om de optimale belasting van het CAtlMap object in te stellen. |
| CAtlMap::SetValueAt | Roep deze methode aan om de waarde te wijzigen die is opgeslagen op een bepaalde positie in het CAtlMap object. |
Openbare operators
| Naam | Description |
|---|---|
| CAtlMap::operator[] | Vervangt of voegt een nieuw element toe aan de CAtlMap. |
Opmerkingen
CAtlMap biedt ondersteuning voor een toewijzingsmatrix van elk bepaald type, het beheren van een niet-geordende matrix van sleutelelementen en de bijbehorende waarden. Elementen (bestaande uit een sleutel en een waarde) worden opgeslagen met behulp van een hash-algoritme, waardoor een grote hoeveelheid gegevens efficiënt kan worden opgeslagen en opgehaald.
De KTraits - en VTraits-parameters zijn eigenschappenklassen die aanvullende code bevatten die nodig is om elementen te kopiëren of te verplaatsen.
Er wordt een alternatief CAtlMap geboden voor de CRBMap-klasse .
CRBMap slaat ook sleutel-waardeparen op, maar vertoont verschillende prestatiekenmerken. De tijd die nodig is om een item in te voegen, een sleutel op te zoeken of een sleutel uit een CRBMap object te verwijderen, is van orderlogboek(n), waarbij n het aantal elementen is. Voor CAtlMapal deze bewerkingen duurt het meestal een constante tijd, hoewel scenario's in het slechtste geval van volgorde n kunnen zijn. In een typisch geval gaat het CAtlMap daarom sneller.
Het andere verschil tussen CRBMap en CAtlMap wordt zichtbaar bij het doorlopen van de opgeslagen elementen. In een CRBMap, worden de elementen in een gesorteerde volgorde bezocht. In een CAtlMap, worden de elementen niet geordend en kan geen volgorde worden afgeleid.
Wanneer een klein aantal elementen moet worden opgeslagen, kunt u in plaats daarvan de CSimpleMap-klasse gebruiken.
Zie ATL-verzamelingsklassen voor meer informatie.
Requirements
Koptekst: atlcoll.h
CAtlMap::AssertValid
Roep deze methode aan om een ASSERT te veroorzaken als het CAtlMap object ongeldig is.
void AssertValid() const;
Opmerkingen
In builds voor foutopsporing veroorzaakt deze methode een ASSERT als het CAtlMap object ongeldig is.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::CAtlMap
De constructor.
CAtlMap(
UINT nBins = 17,
float fOptimalLoad = 0.75f,
float fLoThreshold = 0.25f,
float fHiThreshold = 2.25f,
UINT nBlockSize = 10) throw ();
Parameterwaarden
nBins
Het aantal opslaglocaties dat verwijst naar de opgeslagen elementen. Zie Opmerkingen verderop in dit onderwerp voor een uitleg van bins.
fOptimalLoad
De optimale belastingverhouding.
fLoThreshold
De lagere drempelwaarde voor de belastingverhouding.
fHiThreshold
De bovenste drempelwaarde voor de belastingverhouding.
nBlockSize
De blokgrootte.
Opmerkingen
CAtlMap verwijst naar alle opgeslagen elementen door eerst een index te maken met behulp van een hash-algoritme op de sleutel. Deze index verwijst naar een 'bin' die een aanwijzer bevat naar de opgeslagen elementen. Als de bin al in gebruik is, wordt er een gekoppelde lijst gemaakt voor toegang tot de volgende elementen. Het doorlopen van een lijst verloopt langzamer dan rechtstreeks toegang tot het juiste element. De kaartstructuur moet dus de opslagvereisten in balans houden met de prestaties. De standaardparameters zijn gekozen om in de meeste gevallen goede resultaten te geven.
De belastingverhouding is de verhouding van het aantal bins tot het aantal elementen dat is opgeslagen in het kaartobject. Wanneer de kaartstructuur opnieuw wordt berekend, wordt de parameterwaarde fOptimalLoad gebruikt om het aantal vereiste bins te berekenen. Deze waarde kan worden gewijzigd met behulp van de methode CAtlMap::SetOptimalLoad .
De parameter fLoThreshold is de lagere waarde die de belastingverhouding kan bereiken voordat CAtlMap de optimale grootte van de kaart opnieuw wordt berekend.
De parameter fHiThreshold is de bovenste waarde die de belastingverhouding kan bereiken voordat het CAtlMap object de optimale grootte van de kaart opnieuw berekent.
Dit herberekeningsproces (ook wel rehashing genoemd) is standaard ingeschakeld. Als u dit proces wilt uitschakelen, bijvoorbeeld wanneer u veel gegevens tegelijk invoert, roept u de methode CAtlMap::D isableAutoRehash aan. Activeer deze opnieuw met de methode CAtlMap::EnableAutoRehash .
De parameter nBlockSize is een meting van de hoeveelheid geheugen die is toegewezen wanneer een nieuw element is vereist. Grotere blokgrootten verminderen aanroepen naar geheugentoewijzingsroutines, maar gebruiken meer resources.
Voordat gegevens kunnen worden opgeslagen, moet u de hashtabel initialiseren met een aanroep naar CAtlMap::InitHashTable.
Example
// 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
De destructor.
~CAtlMap() throw();
Opmerkingen
Alle toegewezen resources worden vrijgemaakt.
CAtlMap::CPair-klasse
Een klasse met de sleutel- en waarde-elementen.
class CPair : public __POSITION
Opmerkingen
Deze klasse wordt gebruikt door de methoden CAtlMap::GetNext en CAtlMap::Lookup voor toegang tot de sleutel- en waarde-elementen die zijn opgeslagen in de toewijzingsstructuur.
CAtlMap::D isableAutoRehash
Roep deze methode aan om automatische herhashing van het CAtlMap object uit te schakelen.
void DisableAutoRehash() throw();
Opmerkingen
Wanneer automatische rehashing is ingeschakeld (dit is standaard), wordt het aantal bins in de hash-tabel automatisch opnieuw berekend als de belastingwaarde (de verhouding van het aantal bins tot het aantal elementen dat in de matrix is opgeslagen) de maximum- of minimumwaarden overschrijdt die zijn opgegeven op het moment dat de kaart is gemaakt.
DisableAutoRehash is het handigst wanneer een groot aantal elementen tegelijk aan de kaart wordt toegevoegd. In plaats van het rehashingproces te activeren telkens wanneer de limieten worden overschreden, is het efficiënter om aan te roepen DisableAutoRehash, de elementen toe te voegen en ten slotte CAtlMap::EnableAutoRehash aan te roepen.
CAtlMap::EnableAutoRehash
Roep deze methode aan om automatische herhashing van het CAtlMap object in te schakelen.
void EnableAutoRehash() throw();
Opmerkingen
Wanneer automatische rehashing is ingeschakeld (dit is standaard), wordt het aantal bins in de hash-tabel automatisch opnieuw berekend als de belastingwaarde (de verhouding van het aantal bins tot het aantal elementen dat in de matrix is opgeslagen) de maximum- of minimumwaarden overschrijdt die zijn opgegeven op het moment dat de kaart wordt gemaakt.
EnableAutoRefresh wordt meestal gebruikt na een aanroep naar CAtlMap::D isableAutoRehash.
CAtlMap::GetAt
Roep deze methode aan om het element op een opgegeven positie in de kaart te retourneren.
void GetAt(
POSITION pos,
KOUTARGTYPE key,
VOUTARGTYPE value) const;
CPair* GetAt(POSITION& pos) throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
sleutel
Sjabloonparameter die het type van de sleutel van de kaart opgeeft.
value
Sjabloonparameter die het type van de waarde van de kaart opgeeft.
Retourwaarde
Retourneert een aanwijzer naar het huidige paar sleutel-/waarde-elementen die zijn opgeslagen in de kaart.
Opmerkingen
In builds voor foutopsporing treedt een assertiefout op als pos gelijk is aan NULL.
CAtlMap::GetCount
Roep deze methode aan om het aantal elementen in de kaart op te halen.
size_t GetCount() const throw();
Retourwaarde
Retourneert het aantal elementen in het kaartobject. Eén element is een sleutel-waardepaar.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::GetHashTableSize
Roep deze methode aan om het aantal bins in de hash-tabel van de kaart te bepalen.
UINT GetHashTableSize() const throw();
Retourwaarde
Retourneert het aantal bins in de hash-tabel. Zie CAtlMap::CAtlMap voor een uitleg.
CAtlMap::GetKeyAt
Roep deze methode aan om de sleutel op te halen die is opgeslagen op de opgegeven positie in het CAtlMap object.
const K& GetKeyAt(POSITION pos) const throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Retourwaarde
Retourneert een verwijzing naar de sleutel die is opgeslagen op de opgegeven positie in het CAtlMap object.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::GetNext
Roep deze methode aan om een aanwijzer te verkrijgen naar het volgende elementpaar dat is opgeslagen in het CAtlMap object.
CPair* GetNext(POSITION& pos) throw();
const CPair* GetNext(POSITION& pos) const throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Retourwaarde
Retourneert een aanwijzer naar het volgende paar sleutel-/waarde-elementen die zijn opgeslagen in de kaart. De pospositieteller wordt na elke aanroep bijgewerkt. Als het opgehaalde element de laatste in de kaart is, wordt pos ingesteld op NULL.
CAtlMap::GetNextAssoc
Hiermee haalt u het volgende element op voor het herhalen.
void GetNextAssoc(
POSITION& pos,
KOUTARGTYPE key,
VOUTARGTYPE value) const;
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
sleutel
Sjabloonparameter die het type van de sleutel van de kaart opgeeft.
value
Sjabloonparameter die het type van de waarde van de kaart opgeeft.
Opmerkingen
De pospositieteller wordt na elke aanroep bijgewerkt. Als het opgehaalde element de laatste in de kaart is, wordt pos ingesteld op NULL.
CAtlMap::GetNextKey
Roep deze methode aan om de volgende sleutel op te halen uit het CAtlMap object.
const K& GetNextKey(POSITION& pos) const throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Retourwaarde
Retourneert een verwijzing naar de volgende sleutel in de kaart.
Opmerkingen
Hiermee werkt u de huidige positieteller bij, pos. Als er geen vermeldingen meer in de kaart staan, wordt de positieteller ingesteld op NULL.
CAtlMap::GetNextValue
Roep deze methode aan om de volgende waarde van het CAtlMap object op te halen.
V& GetNextValue(POSITION& pos) throw();
const V& GetNextValue(POSITION& pos) const throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Retourwaarde
Retourneert een verwijzing naar de volgende waarde in de kaart.
Opmerkingen
Hiermee werkt u de huidige positieteller bij, pos. Als er geen vermeldingen meer in de kaart staan, wordt de positieteller ingesteld op NULL.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::GetStartPosition
Roep deze methode aan om een kaartiteratie te starten.
POSITION GetStartPosition() const throw();
Retourwaarde
Retourneert de beginpositie of NULL wordt geretourneerd als de kaart leeg is.
Opmerkingen
Roep deze methode aan om een toewijzingsiteratie te starten door een POSITION-waarde te retourneren die kan worden doorgegeven aan de GetNextAssoc methode.
Opmerking
De herhalingsvolgorde is niet voorspelbaar
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::GetValueAt
Roep deze methode aan om de waarde op te halen die is opgeslagen op een bepaalde positie in het CAtlMap object.
V& GetValueAt(POSITION pos) throw();
const V& GetValueAt(POSITION pos) const throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Retourwaarde
Retourneert een verwijzing naar de waarde die is opgeslagen op de opgegeven positie in het CAtlMap object.
CAtlMap::InitHashTable
Roep deze methode aan om de hash-tabel te initialiseren.
bool InitHashTable(
UINT nBins,
bool bAllocNow = true);
Parameterwaarden
nBins
Het aantal opslaglocaties dat door de hash-tabel wordt gebruikt. Zie CAtlMap::CAtlMap voor een uitleg.
bAllocNow
Een markeringsaanduiding wanneer geheugen moet worden toegewezen.
Retourwaarde
Retourneert TRUE bij geslaagde initialisatie, ONWAAR bij fout.
Opmerkingen
InitHashTable moet worden aangeroepen voordat elementen worden opgeslagen in de hash-tabel. Als deze methode niet expliciet wordt aangeroepen, wordt deze automatisch aangeroepen wanneer een element voor het eerst wordt toegevoegd met behulp van het aantal bin's dat is opgegeven door de CAtlMap constructor. Anders wordt de kaart geïnitialiseerd met behulp van het nieuwe bin-aantal dat is opgegeven door de parameter nBins .
Als de parameter bAllocNow onwaar is, wordt het geheugen dat is vereist voor de hash-tabel pas toegewezen als deze voor het eerst is vereist. Dit kan handig zijn als het niet zeker is of de kaart wordt gebruikt.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::IsEmpty
Roep deze methode aan om te testen op een leeg kaartobject.
bool IsEmpty() const throw();
Retourwaarde
Retourneert TRUE als de kaart leeg is, anders ONWAAR.
CAtlMap::KINARGTYPE
Type dat wordt gebruikt wanneer een sleutel wordt doorgegeven als invoerargument.
typedef KTraits::INARGTYPE KINARGTYPE;
CAtlMap::KOUTARGTYPE
Type dat wordt gebruikt wanneer een sleutel wordt geretourneerd als een uitvoerargument.
typedef KTraits::OUTARGTYPE KOUTARGTYPE;
CAtlMap::Lookup
Roep deze methode aan om sleutels of waarden in het CAtlMap object op te zoeken.
bool Lookup(KINARGTYPE key, VOUTARGTYPE value) const;
const CPair* Lookup(KINARGTYPE key) const throw();
CPair* Lookup(KINARGTYPE key) throw();
Parameterwaarden
sleutel
Hiermee geeft u de sleutel op waarmee het element wordt geïdentificeerd dat moet worden opgezoekd.
value
Variabele die de opgezoekde waarde ontvangt.
Retourwaarde
De eerste vorm van de methode retourneert waar als de sleutel wordt gevonden, anders onwaar. De tweede en derde vorm retourneren een aanwijzer naar een CPair die kan worden gebruikt als een positie voor aanroepen naar CAtlMap::GetNext enzovoort.
Opmerkingen
Lookup gebruikt een hash-algoritme om snel het kaartelement te vinden dat een sleutel bevat die exact overeenkomt met de opgegeven sleutelparameter.
CAtlMap::operator []
Vervangt of voegt een nieuw element toe aan de CAtlMap.
V& operator[](kinargtype key) throw();
Parameterwaarden
sleutel
De sleutel van het element dat moet worden toegevoegd of vervangen.
Retourwaarde
Retourneert een verwijzing naar de waarde die is gekoppeld aan de opgegeven sleutel.
Example
Als de sleutel al bestaat, wordt het element vervangen. Als de sleutel niet bestaat, wordt er een nieuw element toegevoegd. Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::Rehash
Roep deze methode aan om het CAtlMap object opnieuw te maken.
void Rehash(UINT nBins = 0);
Parameterwaarden
nBins
Het nieuwe aantal opslaglocaties dat moet worden gebruikt in de hash-tabel. Zie CAtlMap::CAtlMap voor een uitleg.
Opmerkingen
Als nBins 0 is, CAtlMap berekent u een redelijk aantal op basis van het aantal elementen in de kaart en de optimale belastingsinstelling. Normaal gesproken is het rehashingproces automatisch, maar als CAtlMap::D isableAutoRehash is aangeroepen, wordt met deze methode de benodigde grootte gewijzigd.
CAtlMap::RemoveAll
Roep deze methode aan om alle elementen uit het CAtlMap object te verwijderen.
void RemoveAll() throw();
Opmerkingen
Hiermee wordt het CAtlMap object gewist, waardoor het geheugen wordt vrijgemaakt dat wordt gebruikt om de elementen op te slaan.
CAtlMap::RemoveAtPos
Roep deze methode aan om het element op de opgegeven positie in het CAtlMap object te verwijderen.
void RemoveAtPos(POSITION pos) throw();
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
Opmerkingen
Hiermee verwijdert u het sleutel-waardepaar dat is opgeslagen op de opgegeven positie. Het geheugen dat wordt gebruikt om het element op te slaan, wordt vrijgemaakt. De positie waarnaar wordt verwezen door pos , wordt ongeldig en terwijl de POSITIE van andere elementen in de kaart geldig blijft, behouden ze niet noodzakelijkerwijs dezelfde volgorde.
CAtlMap::RemoveKey
Roep deze methode aan om een element uit het CAtlMap object te verwijderen, op basis van de sleutel.
bool RemoveKey(KINARGTYPE key) throw();
Parameterwaarden
sleutel
De sleutel die overeenkomt met het elementpaar dat u wilt verwijderen.
Retourwaarde
Retourneert TRUE als de sleutel wordt gevonden en verwijderd, ONWAAR bij fout.
Example
Zie het voorbeeld voor CAtlMap::CAtlMap.
CAtlMap::SetAt
Roep deze methode aan om een elementpaar in de kaart in te voegen.
POSITION SetAt(
KINARGTYPE key,
VINARGTYPE value);
Parameterwaarden
sleutel
De sleutelwaarde die moet worden toegevoegd aan het CAtlMap object.
value
De waarde die moet worden toegevoegd aan het CAtlMap object.
Retourwaarde
Retourneert de positie van het sleutel-waarde-elementpaar in het CAtlMap object.
Opmerkingen
SetAt vervangt een bestaand element als er een overeenkomende sleutel wordt gevonden. Als de sleutel niet wordt gevonden, wordt er een nieuw sleutel-/waardepaar gemaakt.
CAtlMap::SetOptimalLoad
Roep deze methode aan om de optimale belasting van het CAtlMap object in te stellen.
void SetOptimalLoad(
float fOptimalLoad,
float fLoThreshold,
float fHiThreshold,
bool bRehashNow = false);
Parameterwaarden
fOptimalLoad
De optimale belastingverhouding.
fLoThreshold
De lagere drempelwaarde voor de belastingverhouding.
fHiThreshold
De bovenste drempelwaarde voor de belastingverhouding.
bRehashNow
Vlag die aangeeft of de hash-tabel opnieuw moet worden berekend.
Opmerkingen
Met deze methode wordt de optimale belastingswaarde voor het CAtlMap object opnieuw gedefinieerd. Zie CAtlMap::CAtlMap voor een bespreking van de verschillende parameters. Als bRehashNow waar is en het aantal elementen buiten de minimum- en maximumwaarden valt, wordt de hash-tabel opnieuw berekend.
CAtlMap::SetValueAt
Roep deze methode aan om de waarde te wijzigen die is opgeslagen op een bepaalde positie in het CAtlMap object.
void SetValueAt(
POSITION pos,
VINARGTYPE value);
Parameterwaarden
Pos
De positieteller, geretourneerd door een vorige aanroep naar CAtlMap::GetNextAssoc of CAtlMap::GetStartPosition.
value
De waarde die moet worden toegevoegd aan het CAtlMap object.
Opmerkingen
Hiermee wijzigt u het waarde-element dat is opgeslagen op de opgegeven positie in het CAtlMap object.
CAtlMap::VINARGTYPE
Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als invoerargument.
typedef VTraits::INARGTYPE VINARGTYPE;
CAtlMap::VOUTARGTYPE
Type dat wordt gebruikt wanneer een waarde wordt doorgegeven als een uitvoerargument.
typedef VTraits::OUTARGTYPE VOUTARGTYPE;
CAtlMap::CPair::m_key
Het gegevenslid dat het sleutelelement opslaat.
const K m_key;
Parameterwaarden
K
Het type sleutelelement.
CAtlMap::CPair::m_value
Het gegevenslid dat het waardeelement opslaat.
V m_value;
Parameterwaarden
V
Het waardeelementtype.
Zie ook
Voorbeeld van een selectiekader
Voorbeeld updatePV
Overzicht van klassen