Freigeben über


multiset::difference_type

Ein ganzzahliger Typ mit Vorzeichen, der verwendet werden kann, um die Anzahl von Elementen eines Multisets in einen Bereich zwischen Elementen darzustellen, die auf von Iteratoren.

typedef typename 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 in der Regel verwendet, um die Anzahl der Elemente im Bereich [_First, _Last) zwischen den Iteratoren _First und _Last darzustellen, Include- das Element, das bis auf den durch _First gezeigt wird und der Bereich von Elementen, jedoch nicht, einschließlich das Element, auf den durch _Last gezeigt wird.

Beachten Sie dass, obwohl difference_type für alle Iteratoren, die Anforderungen eines Eingabeiterators erfüllen, der die Klasse von bidirektionalen Iteratoren unterstützten durch umkehrbare Container wie Satz enthält, Subtraktion zwischen Iteratoren wird nur unterstützt von Iteratoren die mit wahlfreier Zugriff verfügbar ist, die von einem direkten Container wie Vektor bereitgestellt werden.

Beispiel

// multiset_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <set>
#include <algorithm>

int main( )
{
   using namespace std;

   multiset <int> ms1;
   multiset <int>::iterator ms1_Iter, ms1_bIter, ms1_eIter;

   ms1.insert( 20 );
   ms1.insert( 10 );
   ms1.insert( 20 );

   ms1_bIter = ms1.begin( );
   ms1_eIter = ms1.end( );

   multiset <int>::difference_type   df_typ5, df_typ10, df_typ20;

   df_typ5 = count( ms1_bIter, ms1_eIter, 5 );
   df_typ10 = count( ms1_bIter, ms1_eIter, 10 );
   df_typ20 = count( ms1_bIter, ms1_eIter, 20 );

   // The keys, and hence the elements, of a multiset are not unique
   cout << "The number '5' occurs " << df_typ5
        << " times in multiset ms1.\n";
   cout << "The number '10' occurs " << df_typ10
        << " times in multiset ms1.\n";
   cout << "The number '20' occurs " << df_typ20
        << " times in multiset ms1.\n";

   // Count the number of elements in a multiset 
   multiset <int>::difference_type  df_count = 0;
   ms1_Iter = ms1.begin( );
   while ( ms1_Iter != ms1_eIter)
   {
      df_count++;
      ms1_Iter++;
   }

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

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

multiset-Klasse

Standardvorlagenbibliothek