Partilhar via


multimap::difference_type

Um tipo de dados inteiro assinado que pode ser usado para representar o número de elementos de um multimap 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

// multimap_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <map>
#include <algorithm>

int main( )
{
   using namespace std;
   multimap <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 ) );

   // The following will insert as multimap keys are not unique
   m1.insert ( Int_Pair ( 2, 30 ) );   

   multimap <int, int>::iterator m1_Iter, m1_bIter, m1_eIter;   
   m1_bIter = m1.begin( );
   m1_eIter = m1.end( );

   // Count the number of elements in a multimap
   multimap <int, int>::difference_type  df_count = 0;
   m1_Iter = m1.begin( );
   while ( m1_Iter != m1_eIter )
   {
      df_count++;
      m1_Iter++;
   }

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

Requisitos

mapa <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe multimap

Biblioteca de Modelos Padrão