Condividi tramite


hash_set::difference_type

[!NOTA]

Questo API è obsoleto.L'alternativa consiste unordered_set Class.

Un tipo interi con segno che può essere utilizzato per rappresentare il numero di elementi di un hash_set in un intervallo tra elementi indicato dagli iteratori.

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

Note

difference_type è il tipo restituito quando viene sottratto o incrementando con gli iteratori del contenitore.difference_type in genere utilizzato per rappresentare il numero di elementi nell'intervallo [_First, _Last) tra gli iteratori _First e _Last, include l'elemento fa riferimento da _First e l'intervallo degli elementi fino a, ma a esclusione di, l'elemento fa riferimento da _Last.

Si noti che anche se difference_type sia disponibile per tutti gli iteratori che soddisfano le esigenze di un iteratore di input, che include la classe di iteratori bidirezionali supportato dai contenitori reversibili come set, sottrazione fra gli iteratori solo supportato dagli iteratori di accesso casuale forniti da un contenitore casuale, ad esempio il vettore o deque.

In Visual C++ .NET 2003, i membri dei file di intestazione <hash_set> e <hash_map> non sono più nello spazio dei nomi di deviazione standard, ma sono stati spostati nello spazio dei nomi di stdext.Per ulteriori informazioni, vedere lo spazio dei nomi stdext.

Esempio

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

Requisiti

intestazione: <hash_set>

Stdext diSpazio dei nomi:

Vedere anche

Riferimenti

hash_set Class

Libreria di modelli standard