Compartir a través de


list::difference_type

Tipo de entero con signo que se puede usar para representar el número de elementos de una lista en un intervalo entre elementos a los que apuntan los iteradores.

typedef typename Allocator::difference_type difference_type;

Comentarios

El difference_type es el tipo devuelto al restar o incrementar los iteradores del contenedor. difference_type se suele usar para representar el número de elementos que hay en el intervalo [_First, _Last) entre los iteradores _First y _Last. Incluye el elemento al que apunta _First y el intervalo de elementos que abarca hasta el elemento al que apunta _Last sin incluirlo.

Tenga en cuenta que, aunque difference_type está disponible para todos los iteradores que cumplen los requisitos de un iterador de entrada, incluida la clase de iteradores bidireccionales admitida por los contenedores reversibles como set, solo los iteradores de acceso aleatorio proporcionados por un contenedor de acceso aleatorio, como la clase vector, admiten la resta entre iteradores.

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: <list>

Espacio de nombres: std

Vea también

Referencia

list (Clase)

Biblioteca de plantillas estándar