Sdílet prostřednictvím


hash_map::difference_type

[!POZNÁMKA]

Toto rozhraní API je zastaralé.Alternativou je unordered_map Class.

Použitý představující počet prvků hash_map v rozsahu mezi prvky typu signed integer odkazuje iterátorů.

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

Příspěvek

difference_type Typ vrácena odečtením nebo nezvyšuje prostřednictvím iterátorů kontejneru.difference_type Se obvykle používá představující počet prvků v rozsahu [_First, _Last) mezi iterátorů _First a _Last, obsahuje prvek odkazuje _First a rozsah prvků nahoru, ale ne včetně prvek odkazuje _Last.

Všimněte si, že ačkoli difference_type je k dispozici pro všechny iterátory, které splňují požadavky vstupní iterátor obsahuje třídu obousměrných iterátorů podporované vratné kontejnery jako sadu odčítání mezi iterátorů je podporována pouze iterátorů random access poskytuje kontejner RAM jako vektor.

V aplikaci Visual C++ .NET 2003, členové <hash_map> a <hash_set> jsou již v oboru názvů std soubory hlaviček, ale spíše být přesunut do oboru názvů stdext.Viz stdext obor názvů Další informace.

Příklad

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

int main( )
{
   using namespace std;
   using namespace stdext;
   hash_map <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 won't insert, because map keys are unique
   hm1.insert ( Int_Pair ( 2, 30 ) );   

   hash_map <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_map 
   hash_map <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_map 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

Záhlaví: <hash_map>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_map Class

Standardní šablona knihovny