Freigeben über


CRBMultiMap::CRBMultiMap

Der -Konstruktor.

explicit CRBMultiMap( 
   size_t nBlockSize = 10  
) throw( );

Parameter

  • nBlockSize
    Die Blockgröße.

Hinweise

Der Parameter ist nBlockSize Measure des Speichers, der zugeordnet wird, wenn ein neues Element erforderlich ist. Größere Blockgrößen reduzieren Aufrufe der Speicherbelegungsroutinen, verwenden jedoch mehr Ressourcen. Standardmäßig ordnet Leerzeichen für 10 Elemente einzeln zu.

Siehe die Dokumentation für die Basisklasse CRBTree auf Informationen zu den anderen verfügbaren Methoden.

Beispiel

// Define a multimap object which has an integer 
// key, a double value, and a block size of 5
CRBMultiMap<int, double> myMap(5);

// Add some key/values. Notice how three 
// different values are associated with  
// one key. In a CRBMap object, the values 
// would simply overwrite each other.
myMap.Insert(0, 1.1);
myMap.Insert(0, 1.2);
myMap.Insert(0, 1.3);
myMap.Insert(1, 2.1);

// Look up a key and iterate through 
// all associated values 

double v;
POSITION myPos = myMap.FindFirstWithKey(0);

while (myPos != NULL)
{
   v = myMap.GetNextValueWithKey(myPos,0);
   // As the loop iterates, v  
   // contains the values 1.3, 1.2, 1.1
}

// Remove all of the values associated with that key
size_t i = myMap.RemoveKey(0);

// Confirm all three values were deleted
ATLASSERT(i == 3);

Anforderungen

Header: atlcoll.h

Siehe auch

Referenz

CRBMultiMap Class

CRBMultiMap::~CRBMultiMap