hash_set::difference_type
Hinweis |
---|
Diese API ist veraltet.Die Alternative ist unordered_set Class. |
Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl der Elemente eines hash_set in einem Bereich zwischen Elementen darzustellen, hat sich auf den Iteratoren.
typedef list<typename Traits::value_type, typename Traits::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 normalerweise verwendet, um die Anzahl der Elemente im Bereich [_First, _Last) zwischen den Iteratoren _First darzustellen und _Last, enthält das - Element ein, das bis auf durch _First dargestellt werden und den Bereich von Elementen, jedoch keine einschließlich, das Element, das auf durch _Last gezeigt wird.
Beachten Sie jedoch, dass difference_type für alle Iteratoren, die den Anforderungen eines Eingabeiterators erfüllen, der die Klasse von bidirektionalen Iteratoren unterstützten durch umkehrbare Container wie Satz einschließt, Subtraktion zwischen Iteratoren wird nur unterstützt durch die Iteratoren mit wahlfreier Zugriff verfügbar ist, die von einem direkten Container, wie Vektor oder Doppelschlange bereitgestellt werden.
In Visual C++ .NET 2003, sind Member der <hash_map> und <hash_set> Headerdateien nicht mehr im stdnamespace, sondern sind in den stdext Namespace verschoben wurde.Weitere Informationen finden Sie unter Der stdext-Namespace.
Beispiel
// hash_set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_set>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_set <int> hs1;
hash_set <int>::iterator hs1_Iter, hs1_bIter, hs1_eIter;
hs1.insert( 20 );
hs1.insert( 10 );
hs1.insert( 20 ); // Won't insert as hash_set elements are unique
hs1_bIter = hs1.begin( );
hs1_eIter = hs1.end( );
hash_set <int>::difference_type df_typ5, df_typ10, df_typ20;
df_typ5 = count( hs1_bIter, hs1_eIter, 5 );
df_typ10 = count( hs1_bIter, hs1_eIter, 10 );
df_typ20 = count( hs1_bIter, hs1_eIter, 20 );
// The keys, and hence the elements, of a hash_set are unique,
// so there is at most one of a given value
cout << "The number '5' occurs " << df_typ5
<< " times in hash_set hs1.\n";
cout << "The number '10' occurs " << df_typ10
<< " times in hash_set hs1.\n";
cout << "The number '20' occurs " << df_typ20
<< " times in hash_set hs1.\n";
// Count the number of elements in a hash_set
hash_set <int>::difference_type df_count = 0;
hs1_Iter = hs1.begin( );
while ( hs1_Iter != hs1_eIter)
{
df_count++;
hs1_Iter++;
}
cout << "The number of elements in the hash_set hs1 is: "
<< df_count << "." << endl;
}
Anforderungen
Header: <hash_set>
Namespace: stdext