map::difference_type
Um tipo de inteiro com sinal que pode ser usado para representar o número de elementos de um mapa em um intervalo entre elementos. apontado por iteradores
typedef allocator_type::difference_type difference_type;
Comentários
difference_type é o tipo retornado para o ou subtrair para incrementar com iteradores do recipiente.difference_type normalmente é usado para representar o número de elementos no intervalo [_First, _Last) entre iteradores _First e _Last, inclui o elemento apontado por _First e o intervalo de elementos até, mas não, incluindo o elemento apontado por _Last.
Observe que embora difference_type está disponível para todos iteradores que satisfaz os requisitos de um iterador de entrada, que inclui a classe de iteradores bidirecionais suporte por contêiner reversíveis como o conjunto, subtração entre iteradores é suportado apenas por iteradores de acesso aleatório fornecidos por um contêiner de acesso aleatório como o vetor.
Exemplo
// map_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <map>
#include <algorithm>
int main( )
{
using namespace std;
map <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 ) );
m1.insert ( Int_Pair ( 2, 30 ) );
map <int, int>::iterator m1_Iter, m1_bIter, m1_eIter;
m1_bIter = m1.begin( );
m1_eIter = m1.end( );
// Count the number of elements in a map
map <int, int>::difference_type df_count = 1;
m1_Iter = m1.begin( );
while ( m1_Iter != m1_eIter)
{
df_count++;
m1_Iter++;
}
cout << "The number of elements in the map m1 is: "
<< df_count << "." << endl;
}
Requisitos
Cabeçalho: <map>
namespace: STD