Sdílet prostřednictvím


hash_multimap::difference_type

[!POZNÁMKA]

Toto rozhraní API je zastaralé.Alternativou je unordered_multimap – třída.

Typu se znaménkem představující počet prvků hash_multimap v rozsahu mezi prvky odkazuje iterátorů lze použít.

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

Poznámky

difference_type Je typ vrácena po odečtení nebo zvyšování hodnoty pomocí iterátorů kontejneru.difference_type Se obvykle používá k vyjádření počtu prvků v rozsahu [_First, _Last) mezi iterátory, _First a _Last, obsahuje prvek, který odkazuje na _First a rozsah prvků až do, ale ne včetně prvek odkazuje _Last.

Všimněte si, že ačkoli difference_type je k dispozici pro všechny u iterátorů, které splňují požadavky vstupní iterátor obsahuje třídu podporována vratné obaly, jako je sada odčítání mezi iterátorů je podporována pouze u iterátorů náhodný přístup podle náhodného přístupu kontejneru jako vektor iterátorů obousměrné.

V aplikaci Visual C++ .NET 2003, členové hlavičkových souborů tříd <hash_map> a <hash_set> již nejsou v oboru názvů std, ale byly přesunuty do oboru názvů stdext.Další informace naleznete v tématu Obor názvů stdext.

Příklad

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

Požadavky

Hlavička: <hash_map>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_multimap – třída

Standardní knihovna šablon