Biblioteca de iteradores de C ++ - istream_iterator

Descripción

Es un iterador de entrada especial que lee elementos sucesivos de un flujo de entrada.

Declaración

A continuación se muestra la declaración de std :: istream_iterator.

C ++ 11

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

Parámetros

  • T - Es un tipo de elemento para el iterador.

  • charT - Es un primer parámetro de plantilla del objeto basic_istream asociado.

  • traits - Es un segundo parámetro de plantilla del basic_istream asociado.

  • Distance - Es la diferencia entre dos iteradores.

Valor devuelto

ninguna

Excepciones

Si x arroja de alguna manera al aplicar el operador unario &, esta función nunca arroja excepciones.

Complejidad del tiempo

constante para iteradores de acceso aleatorio.

Ejemplo

El siguiente ejemplo muestra el uso 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

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