Partager via


set::difference_type

Type entier signé qui peut être utilisé pour représenter le nombre d'éléments d'un jeu dans une plage entre les éléments a référencé par les itérateurs.

typedef typename allocator_type::difference_type difference_type;

Notes

difference_type est le type retourné en soustrayant ou en incrémentiel via les 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 référencé par _First et la plage des éléments jusqu'à, mais sans, l'élément référencé par _Last.

Notez que même si 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 bidirectionnels un objet pris en charge par les conteneurs réversibles tels que le jeu, soustraction entre les itérateurs est pris en charge par les itérateurs l'accès aléatoire fournis par un conteneur l'accès aléatoire tel que le vecteur.

Exemple

// set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <set>
#include <algorithm>

int main( )
{
   using namespace std;

   set <int> s1;
   set <int>::iterator s1_Iter, s1_bIter, s1_eIter;

   s1.insert( 20 );
   s1.insert( 10 );
   s1.insert( 20 );   // won't insert as set elements are unique

   s1_bIter = s1.begin( );
   s1_eIter = s1.end( );

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

   df_typ5 = count( s1_bIter, s1_eIter, 5 );
   df_typ10 = count( s1_bIter, s1_eIter, 10 );
   df_typ20 = count( s1_bIter, s1_eIter, 20 );

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

   // count the number of elements in a set
   set <int>::difference_type  df_count = 0;
   s1_Iter = s1.begin( );
   while ( s1_Iter != s1_eIter)   
   {
      df_count++;
      s1_Iter++;
   }

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

Configuration requise

En-tête: <jeu>

Espace de noms : std

Voir aussi

Référence

set, classe

Bibliothèque STL (Standard Template Library)