list::difference_type
Um tipo de inteiro com sinal que pode ser usado para representar o número de elementos em uma lista em um intervalo entre elementos. apontado por iteradores
typedef typename Allocator::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 dataset, subtração entre iteradores é suportado apenas por iteradores de acesso aleatório fornecidos por um contêiner de acesso aleatório, como classe vetorial.
Exemplo
// list_diff_type.cpp
// compile with: /EHsc
#include <iostream>
#include <list>
#include <algorithm>
int main( )
{
using namespace std;
list <int> c1;
list <int>::iterator c1_Iter, c2_Iter;
c1.push_back( 30 );
c1.push_back( 20 );
c1.push_back( 30 );
c1.push_back( 10 );
c1.push_back( 30 );
c1.push_back( 20 );
c1_Iter = c1.begin( );
c2_Iter = c1.end( );
list <int>::difference_type df_typ1, df_typ2, df_typ3;
df_typ1 = count( c1_Iter, c2_Iter, 10 );
df_typ2 = count( c1_Iter, c2_Iter, 20 );
df_typ3 = count( c1_Iter, c2_Iter, 30 );
cout << "The number '10' is in c1 collection " << df_typ1 << " times.\n";
cout << "The number '20' is in c1 collection " << df_typ2 << " times.\n";
cout << "The number '30' is in c1 collection " << df_typ3 << " times.\n";
}
Requisitos
Cabeçalho: <list>
namespace: STD