list::difference_type
Un entero con signo escribe que se puede usar para representar el número de elementos de una lista en un intervalo entre elementos indicada por los iteradores.
typedef typename Allocator::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 el conjunto, resta entre los iteradores admite únicamente los iteradores de acceso aleatorio proporcionados por un contenedor de acceso aleatorio, como clase vector.
Ejemplo
// list_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <list>
#include <algorithm>
int main( )
{
using namespace std;
list <int> c1;
list <int>::iterator c1_Iter, c2_Iter;
c1.push_back( 30 );
c1.push_back( 20 );
c1.push_back( 30 );
c1.push_back( 10 );
c1.push_back( 30 );
c1.push_back( 20 );
c1_Iter = c1.begin( );
c2_Iter = c1.end( );
list <int>::difference_type df_typ1, df_typ2, df_typ3;
df_typ1 = count( c1_Iter, c2_Iter, 10 );
df_typ2 = count( c1_Iter, c2_Iter, 20 );
df_typ3 = count( c1_Iter, c2_Iter, 30 );
cout << "The number '10' is in c1 collection " << df_typ1 << " times.\n";
cout << "The number '20' is in c1 collection " << df_typ2 << " times.\n";
cout << "The number '30' is in c1 collection " << df_typ3 << " times.\n";
}
Requisitos
encabezado: <lista>
espacio de nombres: std