hash_multimap::difference_type
Observação |
---|
este API é obsoleto.Uma alternativa é unordered_multimap Class. |
Um tipo de inteiro com sinal que pode ser usado para representar o número de elementos de um hash_multimap em um intervalo entre elementos. apontado por iteradores
typedef list<typename _Traits::value_type, typename _Traits::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.
Em o Visual C++ .NET 2003, os membros dos arquivos de cabeçalho de <hash_map> e de <hash_set> não estão mais no namespace de STD, mas tenham sido portados em vez de stdext no namespace.Consulte O namespace de stdext para mais informações.
Exemplo
// hash_multimap_difference_type.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_map>
#include <algorithm>
int main()
{
using namespace std;
using namespace stdext;
hash_multimap<int, int> hm1;
typedef pair<int, int> Int_Pair;
hm1.insert(Int_Pair(2, 20));
hm1.insert(Int_Pair(1, 10));
hm1.insert(Int_Pair(3, 20));
// The following will insert, because map keys
// do not need to be unique
hm1.insert(Int_Pair(2, 30));
hash_multimap<int, int>::iterator hm1_Iter, hm1_bIter, hm1_eIter;
hm1_bIter = hm1.begin();
hm1_eIter = hm1.end();
// Count the number of elements in a hash_multimap
hash_multimap<int, int>::difference_type df_count = 0;
hm1_Iter = hm1.begin();
while (hm1_Iter != hm1_eIter)
{
df_count++;
hm1_Iter++;
}
cout << "The number of elements in the hash_multimap hm1 is: "
<< df_count << "." << endl;
cout << "The keys of the mapped elements are:";
for (hm1_Iter= hm1.begin() ; hm1_Iter!= hm1.end();
hm1_Iter++)
cout << " " << hm1_Iter-> first;
cout << "." << endl;
cout << "The values of the mapped elements are:";
for (hm1_Iter= hm1.begin() ; hm1_Iter!= hm1.end();
hm1_Iter++)
cout << " " << hm1_Iter-> second;
cout << "." << endl;
}
Requisitos
Cabeçalho: <hash_map>
stdext denamespace: