Partager via


hash_multiset::difference_type

[!REMARQUE]

Cette API est obsolète.l'alternative est unordered_multiset Class.

Un type d'entier signé qui fournit la différence entre deux itérateurs qui répondent à des éléments dans le même hash_multiset.

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

Notes

difference_type est le type retourné en soustrayant ou en incrémentant via des itérateurs du conteneur.difference_type est généralement utilisé pour représenter le nombre d'éléments dans la plage [_First, _Last) entre les itérateurs _First et _Last, inclut l'élément globale pointe vers _First et la plage d'éléments jusqu'à, mais sans, l'élément globale pointe vers _Last.

Notez que bien qu' difference_type soit disponible pour tous les itérateurs qui répondent aux besoins d'un itérateur d'entrée, qui inclut la classe les itérateurs bidirectionnelles pris en charge par les conteneurs réversibles tels que le jeu.La soustraction entre les itérateurs prise en charge uniquement par les itérateurs d'accès aléatoire fournis par un conteneur d'accès aléatoire tel que le vecteur ou le deque.

Dans Visual C++ .NET 2003, les membres des fichiers d'en-tête de <hash_map> et de <hash_set> ne sont plus dans l'espace de noms de DST, mais plutôt ont été déplacés dans l'espace de noms de stdext.Pour plus d'informations, consultez The stdext Namespace.

Exemple

// hash_multiset_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>

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

   hash_multiset <int> hms1;
   hash_multiset <int>::iterator hms1_Iter, hms1_bIter, hms1_eIter;

   hms1.insert( 20 );
   hms1.insert( 10 );

   // hash_multiset elements need not be unique
   hms1.insert( 20 );

   hms1_bIter = hms1.begin( );
   hms1_eIter = hms1.end( );

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

   df_typ5 = count( hms1_bIter, hms1_eIter, 5 );
   df_typ10 = count( hms1_bIter, hms1_eIter, 10 );
   df_typ20 = count( hms1_bIter, hms1_eIter, 20 );

   // The keys & hence the elements of a hash_multiset
   // need not be unique and may occur multiple times
   cout << "The number '5' occurs " << df_typ5
        << " times in hash_multiset hms1.\n";
   cout << "The number '10' occurs " << df_typ10
        << " times in hash_multiset hms1.\n";
   cout << "The number '20' occurs " << df_typ20
        << " times in hash_multiset hms1.\n";

   // Count the number of elements in a hash_multiset
   hash_multiset <int>::difference_type  df_count = 0;
   hms1_Iter = hms1.begin( );
   while ( hms1_Iter != hms1_eIter)
   {
      df_count++;
      hms1_Iter++;
   }

   cout << "The number of elements in the hash_multiset hms1 is " 
        << df_count << "." << endl;
}
  
  
  
  

Configuration requise

en-tête : <hash_set>

Stdext del'espace de noms :

Voir aussi

Référence

hash_multiset Class

Modèles Standard