map::difference_type
Typ Liczba całkowita, który może służyć do reprezentowania liczba elementów mapy w zakresie między elementami wskazywanego przez Iteratory.
typedef allocator_type::difference_type difference_type;
Uwagi
difference_type Typ zwracany jest po odjęcie lub zwiększany poprzez Iteratory kontenera.difference_type Jest zazwyczaj używany do reprezentowania liczbę elementów w zakresie [_First, _Last) między Iteratory _First i _Last, zawiera element wskazywany przez _First i zakres elementów do, z wyjątkiem elementu wskazywanego przez _Last.
Należy zauważyć, że chociaż difference_type jest dostępna dla wszystkich Iteratory, które spełniają wymogi iteratora wejściowy zawiera klasę Iteratory dwukierunkowy obsługiwane przez odwracalne pojemniki takie jak zestaw, odejmowanie między Iteratory jest obsługiwana tylko przez Iteratory świadczone przez kontener o dostępie np. wektorową.
Przykład
// 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;
}
Wymagania
Nagłówek: <map>
Przestrzeń nazw: std