set::difference_type
Typ Liczba całkowita, który może służyć do reprezentowania liczbę elementów zestawu w zakresie między elementami wskazywanego przez Iteratory.
typedef typename allocator_type::difference_type difference_type;
Uwagi
difference_type Typ zwracany jest po odjęcie lub zwiększany poprzez Iteratory kontenera.difference_type Jest zazwyczaj używany do reprezentowania liczbę elementów w zakresie [_First, _Last) między Iteratory _First i _Last, zawiera element wskazywany przez _First i zakres elementów do, z wyjątkiem elementu wskazywanego przez _Last.
Należy zauważyć, że chociaż difference_type jest dostępna dla wszystkich Iteratory, które spełniają wymogi iteratora wejściowy zawiera klasę Iteratory dwukierunkowy obsługiwane przez odwracalne kontenerów, takie jak zestaw, odejmowanie między Iteratory jest obsługiwana tylko przez Iteratory świadczone przez kontener dostępie losowym np. wektorową.
Przykład
// 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;
}
Wymagania
Nagłówek: <set>
Przestrzeń nazw: std