multimap::difference_type
Un tipo interi con segno che può essere utilizzato per rappresentare il numero di elementi di un multimap in un intervallo tra elementi indicato dagli iteratori.
typedef typename allocator_type::difference_type difference_type;
Note
difference_type è il tipo restituito quando viene sottratto o incrementando con gli iteratori del contenitore.difference_type in genere utilizzato per rappresentare il numero di elementi nell'intervallo [_First, _Last) tra gli iteratori _First e _Last, include l'elemento fa riferimento da _First e l'intervallo degli elementi fino a, ma a esclusione di, l'elemento fa riferimento da _Last.
Si noti che anche se difference_type sia disponibile per tutti gli iteratori che soddisfano le esigenze di un iteratore di input, che include la classe di iteratori bidirezionali supportato dai contenitori reversibili come set, sottrazione fra gli iteratori solo supportato dagli iteratori di accesso casuale forniti da un contenitore a accesso casuale come vettori.
Esempio
// multimap_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <map>
#include <algorithm>
int main( )
{
using namespace std;
multimap <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 ) );
// The following will insert as multimap keys are not unique
m1.insert ( Int_Pair ( 2, 30 ) );
multimap <int, int>::iterator m1_Iter, m1_bIter, m1_eIter;
m1_bIter = m1.begin( );
m1_eIter = m1.end( );
// Count the number of elements in a multimap
multimap <int, int>::difference_type df_count = 0;
m1_Iter = m1.begin( );
while ( m1_Iter != m1_eIter )
{
df_count++;
m1_Iter++;
}
cout << "The number of elements in the multimap m1 is: "
<< df_count << "." << endl;
}
Requisiti
intestazione: <map>
Spazio dei nomi: deviazione standard