hash_map::difference_type
Hinweis |
---|
Diese API ist veraltet.Die Alternative ist unordered_map Class. |
Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl der Elemente eines hash_map 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;
Hinweis
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 dem 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 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_map_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_map>
#include <algorithm>
int main( )
{
using namespace std;
using namespace stdext;
hash_map <int, int> hm1;
typedef pair <int, int> Int_Pair;
hm1.insert ( Int_Pair ( 2, 20 ) );
hm1.insert ( Int_Pair ( 1, 10 ) );
hm1.insert ( Int_Pair ( 3, 20 ) );
// The following won't insert, because map keys are unique
hm1.insert ( Int_Pair ( 2, 30 ) );
hash_map <int, int>::iterator hm1_Iter, hm1_bIter, hm1_eIter;
hm1_bIter = hm1.begin( );
hm1_eIter = hm1.end( );
// Count the number of elements in a hash_map
hash_map <int, int>::difference_type df_count = 0;
hm1_Iter = hm1.begin( );
while ( hm1_Iter != hm1_eIter)
{
df_count++;
hm1_Iter++;
}
cout << "The number of elements in the hash_map hm1 is: "
<< df_count << "." << endl;
cout << "The keys of the mapped elements are:";
for ( hm1_Iter= hm1.begin( ) ; hm1_Iter!= hm1.end( ) ;
hm1_Iter++)
cout << " " << hm1_Iter-> first;
cout << "." << endl;
cout << "The values of the mapped elements are:";
for ( hm1_Iter= hm1.begin( ) ; hm1_Iter!= hm1.end( ) ;
hm1_Iter++)
cout << " " << hm1_Iter-> second;
cout << "." << endl;
}
Anforderungen
Header: <hash_map>
Namespace: stdext