Bibliothèque d'itérateur C ++ - istream_iterator

La description

C'est un itérateur d'entrée spécial qui lit les éléments successifs d'un flux d'entrée.

Déclaration

Voici la déclaration pour std :: istream_iterator.

C ++ 11

template <class T, class charT = char, class traits = char_traits<charT>, 
         class Distance = ptrdiff_t>
   class istream_iterator;

Paramètres

  • T - C'est un type d'élément pour l'itérateur.

  • charT - Il s'agit d'un premier paramètre de modèle de l'objet basic_istream associé.

  • traits - C'est un deuxième paramètre de modèle du basic_istream associé.

  • Distance - C'est la différence entre deux itérateurs.

Valeur de retour

aucun

Des exceptions

Si x lève d'une manière ou d'une autre en lui appliquant l'opérateur unaire &, cette fonction ne lève jamais d'exceptions.

Complexité temporelle

constante pour les itérateurs à accès aléatoire.

Exemple

L'exemple suivant montre l'utilisation de std :: insert_iterator.

#include <iostream>
#include <iterator>

int main () {
   double value1, value2;
   std::cout << "Please insert values: ";

   std::istream_iterator<double> eos;              
   std::istream_iterator<double> iit (std::cin);   

   if (iit!=eos) value1=*iit;

   ++iit;
   if (iit!=eos) value2=*iit;

   std::cout << value1 << "*" << value2 << "=" << (value1*value2) << '\n';

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Please insert values: 0*6.95264e-310=0