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