set::difference_type
Typ číslo se znaménkem představující počet prvků v rozsahu mezi prvky odkazuje u iterátorů sadu lze použít.
typedef typename allocator_type::difference_type difference_type;
Poznámky
difference_type Je typ vrácena po odečtení nebo stovce prostřednictvím u iterátorů kontejneru.difference_type Se obvykle používá představující počet prvků v rozsahu [_First, _Last) u iterátorů mezi _First a _Last, obsahuje prvek odkazuje _First a rozsah prvků až do, ale ne včetně prvek odkazuje _Last.
Přestože difference_type je k dispozici pro všechny u iterátorů, které splňují požadavky vstupní iterace, zahrnující třídy iterátorů obousměrné podporovaných vratné kontejnery jako sada odčítání mezi u iterátorů je podporována pouze u iterátorů random access poskytované random access kontejneru jako vektor.
Příklad
// 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;
}
Požadavky
Záhlaví: <set>
Obor názvů: std