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