set::difference_type
Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl von Elementen eines Satzes in einen Bereich zwischen Elementen darzustellen, die auf von Iteratoren.
typedef typename allocator_type::difference_type difference_type;
Hinweise
difference_type ist der zurückgegebene Typ beim Subtrahieren oder Erhöhen von Iteratoren des Containers. difference_type wird in der Regel verwendet, um die Anzahl von Elementen im Bereich [_First, _Last) zwischen den Iteratoren _First und _Last darzustellen, Include-, die das Element auf von _First und dem Bereich von Elementen sich bis wurde, aber ohne, wird sich das Element von _Last.
Beachten Sie dass, obwohl difference_type für alle Iteratoren, die Anforderungen eines Eingabeiterators erfüllen, der die Klasse von bidirektionalen Iteratoren unterstützten durch umkehrbare Container wie Satz enthält, Subtraktion zwischen Iteratoren wird nur unterstützt von Iteratoren die mit wahlfreier Zugriff verfügbar ist, die von einem direkten Container wie Vektor bereitgestellt werden.
Beispiel
// 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;
}
Anforderungen
Header: <set>
Namespace: std