Freigeben über


map::difference_type

Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl der Elemente einer Zuordnung in einem Bereich zwischen Elementen darzustellen, hat sich auf den Iteratoren.

typedef 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 direkten Iteratoren verfügbar ist, die von einem direkten Container wie Vektor bereitgestellt werden.

Beispiel

// map_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <map>
#include <algorithm>

int main( )
{
   using namespace std;
   map <int, int> m1;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 3, 20 ) );
   m1.insert ( Int_Pair ( 2, 30 ) );

   map <int, int>::iterator m1_Iter, m1_bIter, m1_eIter;
   m1_bIter = m1.begin( );
   m1_eIter = m1.end( );

   // Count the number of elements in a map
   map <int, int>::difference_type  df_count = 1;
   m1_Iter = m1.begin( );
   while ( m1_Iter != m1_eIter)
   {
      df_count++;
      m1_Iter++;
   }

   cout << "The number of elements in the map m1 is: " 
        << df_count << "." << endl;
}
  

Anforderungen

Header: <map>

Namespace: std

Siehe auch

Referenz

map Class

Standardvorlagenbibliothek