Partager via


hash_multimap::difference_type

[!REMARQUE]

Cette API est obsolète.l'alternative est unordered_multimap Class.

Un type d'entier signé qui peut être utilisé pour représenter le nombre d'éléments d'un hash_multimap dans une plage entre les éléments a globale pointe vers les itérateurs.

typedef list<typename _Traits::value_type, typename _Traits::allocator_type>::difference_type difference_type;

Notes

difference_type est le type retourné en soustrayant ou en incrémentant via des itérateurs du conteneur.difference_type est généralement utilisé pour représenter le nombre d'éléments dans la plage [_First, _Last) entre les itérateurs _First et _Last, inclut l'élément globale pointe vers _First et la plage d'éléments jusqu'à, mais sans, l'élément globale pointe vers _Last.

Notez que bien qu' difference_type soit disponible pour tous les itérateurs qui répondent aux conditions d'un itérateur d'entrée, qui inclut la classe les itérateurs bidirectionnelles pris en charge par les conteneurs réversibles tels que le positionnement, soustraction entre les itérateurs soit uniquement en charge des itérateurs d'accès aléatoire fournis par un conteneur d'accès aléatoire tel que le vecteur.

Dans Visual C++ .NET 2003, les membres des fichiers d'en-tête de <hash_map> et de <hash_set> ne sont plus dans l'espace de noms de DST, mais plutôt ont été déplacés dans l'espace de noms de stdext.Pour plus d'informations, consultez The stdext Namespace.

Exemple

// hash_multimap_difference_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_map>
#include <algorithm>

int main()
{
    using namespace std;
    using namespace stdext;
    hash_multimap<int, int> hm1;
    typedef pair<int, int> Int_Pair;

    hm1.insert(Int_Pair(2, 20));
    hm1.insert(Int_Pair(1, 10));
    hm1.insert(Int_Pair(3, 20));

    // The following will insert, because map keys
    // do not need to be unique
    hm1.insert(Int_Pair(2, 30));

    hash_multimap<int, int>::iterator hm1_Iter, hm1_bIter, hm1_eIter;
    hm1_bIter = hm1.begin();
    hm1_eIter = hm1.end();

    // Count the number of elements in a hash_multimap
    hash_multimap<int, int>::difference_type df_count = 0;
    hm1_Iter = hm1.begin();
    while (hm1_Iter != hm1_eIter)
    {
        df_count++;
        hm1_Iter++;
    }

    cout << "The number of elements in the hash_multimap hm1 is: "
         << df_count << "." << endl;

    cout << "The keys of the mapped elements are:";
    for (hm1_Iter= hm1.begin() ; hm1_Iter!= hm1.end();
        hm1_Iter++)
        cout << " " << hm1_Iter-> first;
    cout << "." << endl;

    cout << "The values of the mapped elements are:";
    for (hm1_Iter= hm1.begin() ; hm1_Iter!= hm1.end();
        hm1_Iter++)
        cout << " " << hm1_Iter-> second;
    cout << "." << endl;
}
  
  
  

Configuration requise

en-tête : <hash_map>

Stdext del'espace de noms :

Voir aussi

Référence

hash_multimap Class

Modèles Standard