Compartilhar via


hash_map::difference_type

ObservaçãoObservação

este API é obsoleto.Uma alternativa é unordered_map Class.

Um tipo de inteiro com sinal que pode ser usado para representar o número de elementos de um hash_map em um intervalo entre elementos. apontado por iteradores

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

comentário

difference_type é o tipo retornado para o ou subtrair para incrementar com iteradores do recipiente.difference_type normalmente é usado para representar o número de elementos no intervalo [_First, _Last) entre o _First de iteradores e _Last, inclui o elemento apontado por _First e o intervalo de elementos até, mas não, incluindo o elemento apontado por _Last.

Observe que embora difference_type está disponível para todos iteradores que satisfaz os requisitos de um iterador de entrada, que inclui a classe de iteradores bidirecionais suporte por contêiner reversíveis como o conjunto, subtração entre iteradores é suportado apenas por iteradores de acesso aleatório fornecidos por um contêiner de acesso aleatório, como o vetor.

Em o Visual C++ .NET 2003, os membros dos arquivos de cabeçalho de <hash_map> e de <hash_set> não estão mais no namespace de STD, mas tenham sido portados em vez de stdext no namespace.Consulte O namespace de stdext para mais informações.

Exemplo

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

Requisitos

Cabeçalho: <hash_map>

stdext denamespace:

Consulte também

Referência

hash_map Class

Standard Template Library