Compartir a través de


set::difference_type

Un entero con signo escribe que se puede usar para representar el número de elementos de un conjunto en un intervalo entre elementos indicada por los iteradores.

typedef typename 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

// set_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <set>
#include <algorithm>

int main( )
{
   using namespace std;

   set <int> s1;
   set <int>::iterator s1_Iter, s1_bIter, s1_eIter;

   s1.insert( 20 );
   s1.insert( 10 );
   s1.insert( 20 );   // won't insert as set elements are unique

   s1_bIter = s1.begin( );
   s1_eIter = s1.end( );

   set <int>::difference_type   df_typ5, df_typ10, df_typ20;

   df_typ5 = count( s1_bIter, s1_eIter, 5 );
   df_typ10 = count( s1_bIter, s1_eIter, 10 );
   df_typ20 = count( s1_bIter, s1_eIter, 20 );

   // the keys, and hence the elements of a set are unique,
   // so there is at most one of a given value
   cout << "The number '5' occurs " << df_typ5
        << " times in set s1.\n";
   cout << "The number '10' occurs " << df_typ10
        << " times in set s1.\n";
   cout << "The number '20' occurs " << df_typ20
        << " times in set s1.\n";

   // count the number of elements in a set
   set <int>::difference_type  df_count = 0;
   s1_Iter = s1.begin( );
   while ( s1_Iter != s1_eIter)   
   {
      df_count++;
      s1_Iter++;
   }

   cout << "The number of elements in the set s1 is: " 
        << df_count << "." << endl;
}
  

Requisitos

Encabezado: <set>

Espacio de nombres: std

Vea también

Referencia

set (Clase)

Biblioteca de plantillas estándar