Aracılığıyla paylaş


hash_multimap::difference_type

[!NOT]

Bu API artık kullanılmıyor.Alternatif unordered_multimap Class.

Bir hash_multimap yineleyiciler göre sıralanmasını öğeler arasındaki aralık içinde öğelerin sayısını temsil etmek için kullanılan imzalı tamsayı türü.

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

Notlar

difference_type Çıkarılarak veya kapsayıcının yineleyiciler artırma türü döndürülür.difference_type Genellikle aralıktaki öğelerin sayısını temsil eden [_First, _Last) yineleyiciler arasında _First ve _Last, tarafından işaret öğesini içeren _First ve aralık kadar ancak içerdiği öğelerin öğe tarafından gösterilir _Last.

Ancak dikkat edin difference_type olarak ayarlanırsa, yineleyiciler arasında çıkarma yalnızca vektör gibi rasgele erişim kapsayıcısı tarafından sağlanan rasgele erişim yineleyiciler tarafından desteklenen ters çevrilebilir kapsayıcılar tarafından desteklenen çift yönlü yineleyiciler sınıfı içeren bir giriş Yineleyici gereksinimlerini karşılayan tüm yineleyiciler için kullanılabilir.

Visual C++ .NET 2003, üyeleri de <hash_map> ve <hash_set> başlık dosyaları artık std ad alanında bulunan, ancak bunun yerine stdext ad alanına taşınmış.Bkz: ad stdext daha fazla bilgi için.

Örnek

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

Gereksinimler

Başlık: <hash_map>

Ad alanı: stdext

Ayrıca bkz.

Başvuru

hash_multimap Class

Standart Şablon Kütüphanesi