map::difference_type
Un entero con signo escribe que se puede usar para representar el número de elementos de un mapa en un intervalo entre elementos indicada por los iteradores.
typedef allocator_type::difference_type difference_type;
Comentarios
difference_type es el tipo devuelto al restar o aumentando con los iteradores del contenedor.difference_type se utiliza normalmente para representar el número de elementos en el intervalo [_First, _Last) entre los iteradores _First y _Last, incluye el elemento indicada por _First y el intervalo de elementos hasta, pero no como, el elemento indicada por _Last.
Observe que aunque difference_type está disponible para todos los iteradores que satisfacen los requisitos de un iterador de entrada, que incluye la clase de iteradores bidireccionales admitidos por los contenedores reversibles como conjunto, resta entre los iteradores admite únicamente los iteradores de acceso aleatorio proporcionados por un contenedor de acceso aleatorio como vector.
Ejemplo
// 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;
}
Requisitos
encabezado: <Asignar>
espacio de nombres: std