Compartilhar via


set::difference_type

Um tipo de dados inteiro assinado que pode ser usado para representar o número de elementos de um conjunto em um intervalo entre os elementos apontado pelos iteradores.

typedef typename allocator_type::difference_type difference_type;

Comentários

difference_type é o tipo retornado para o subtrair ou para incrementar com os iteradores do contêiner. difference_type normalmente é usado para representar o número de elementos no intervalo [_First, _Last) entre os iteradores _First e _Last, inclui o elemento apontado por _First e o intervalo dos elementos até, mas não incluindo, o elemento apontado por _Last.

Observe que embora difference_type está disponível para todos os iteradores que atendem aos requisitos de um iterador de entrada, que inclua a classe de iteradores bidirecionais suporte por contêineres reversíveis como o conjunto, subtração entre iteradores é suportado somente pelos iteradores de acesso aleatório fornecidos por um contêiner de acesso aleatório como o vetor.

Exemplo

// 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

defineCabeçalho: <>

Namespace: std

Consulte também

Referência

Classe set

Biblioteca de Modelos Padrão