Partager via


list::difference_type

Un type d'entier signé qui peut être utilisé pour représenter le nombre d'éléments d'une liste dans une plage entre les éléments a globale pointe vers les itérateurs.

typedef typename Allocator::difference_type difference_type;

Notes

difference_type est le type retourné en soustrayant ou en incrémentant via des itérateurs du conteneur.difference_type est généralement utilisé pour représenter le nombre d'éléments dans la plage [_First, _Last) entre les itérateurs _First et _Last, inclut l'élément globale pointe vers _First et la plage d'éléments jusqu'à, mais sans, l'élément globale pointe vers _Last.

Notez que bien qu' difference_type soit disponible pour tous les itérateurs qui répondent aux conditions d'un itérateur d'entrée, qui inclut la classe les itérateurs bidirectionnelles pris en charge par les conteneurs réversibles comme le positionnement, soustraction entre les itérateurs soit uniquement en charge des itérateurs d'accès aléatoire fournis par un conteneur d'accès aléatoire, tel que classe vectorielle.

Exemple

// 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";
}
  
  
  

Configuration requise

en-tête : <list>

l'espace de noms : DST

Voir aussi

Référence

list Class

Modèles Standard