Biblioteca C ++ Iterator - istream_iterator

Descrição

É um iterador de entrada especial que lê elementos sucessivos de um fluxo de entrada.

Declaração

A seguir está a declaração para 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 - É um tipo de elemento para o iterador.

  • charT - É um primeiro parâmetro de modelo do objeto basic_istream associado.

  • traits - É um segundo parâmetro de modelo do basic_istream associado.

  • Distance - É a diferença entre dois iteradores.

Valor de retorno

Nenhum

Exceções

Se x de alguma forma lançar enquanto aplica o operador unário & a ele, esta função nunca lança exceções.

Complexidade de tempo

constante para iteradores de acesso aleatório.

Exemplo

O exemplo a seguir mostra o 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

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