Partilhar via


hash_set::difference_type

ObservaçãoObservação

este API é obsoleto.Uma alternativa é unordered_set Class.

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

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

Comentários

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 iteradores _First 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 ou o deque.

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_set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>

int main( )
{
   using namespace std;
   using namespace stdext;

   hash_set <int> hs1;
   hash_set <int>::iterator hs1_Iter, hs1_bIter, hs1_eIter;

   hs1.insert( 20 );
   hs1.insert( 10 );
   hs1.insert( 20 );   // Won't insert as hash_set elements are unique

   hs1_bIter = hs1.begin( );
   hs1_eIter = hs1.end( );

   hash_set <int>::difference_type   df_typ5, df_typ10, df_typ20;

   df_typ5 = count( hs1_bIter, hs1_eIter, 5 );
   df_typ10 = count( hs1_bIter, hs1_eIter, 10 );
   df_typ20 = count( hs1_bIter, hs1_eIter, 20 );

   // The keys, and hence the elements, of a hash_set are unique,
   // so there is at most one of a given value
   cout << "The number '5' occurs " << df_typ5
        << " times in hash_set hs1.\n";
   cout << "The number '10' occurs " << df_typ10
        << " times in hash_set hs1.\n";
   cout << "The number '20' occurs " << df_typ20
        << " times in hash_set hs1.\n";

   // Count the number of elements in a hash_set
   hash_set <int>::difference_type  df_count = 0;
   hs1_Iter = hs1.begin( );
   while ( hs1_Iter != hs1_eIter)
   {
      df_count++;
      hs1_Iter++;
   }

   cout << "The number of elements in the hash_set hs1 is: " 
        << df_count << "." << endl;
}
  
  
  
  

Requisitos

Cabeçalho: <hash_set>

stdext denamespace:

Consulte também

Referência

hash_set Class

Standard Template Library