Partager via


CRBMultiMap::CRBMultiMap

Constructeur.

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

Paramètres

  • nBlockSize
    La taille des blocs.

Notes

Le paramètre d' nBlockSize est une mesure de la quantité de mémoire allouée lorsqu'un nouvel élément est obligatoire. De plus grande taille des blocs ramènent des appels aux routines d'allocation de mémoire, mais utilisent plus de ressources. La valeur par défaut allouera l'espace de 10 éléments à la fois.

Consultez la documentation de la classe de base CRBTree pour plus d'informations sur les autres méthodes disponibles.

Exemple

// 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);

Configuration requise

Header: atlcoll.h

Voir aussi

Référence

CRBMultiMap, classe

CRBMultiMap::~CRBMultiMap