Compartilhar via


istream_iterator::istream_iterator

Constrói um iterador do final de fluxo como istream_iterator padrão ou um istream_iterator inicializado para o tipo de fluxo de iterador de que ler.

istream_iterator( ); 
istream_iterator(
   istream_type& _Istr
);

Parâmetros

  • _Istr
    O fluxo de entrada para ser lido o uso inicializar istream_iterator.

Comentários

O primeiro construtor inicializa o ponteiro de fluxo de entrada com um ponteiro zero e cria um iterador do final de fluxo.O segundo construtor inicializa o ponteiro de fluxo de entrada com &_Istr, então tentar extrair e armazenar um objeto do tipo Tipo.

O iterador do final de fluxo pode ser uso testar se istream_iterator atingiu o final de um fluxo.

Exemplo

// istream_iterator_istream_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <algorithm>
#include <iostream>

int main( )
{
   using namespace std;

   // Used in conjunction with copy algorithm
   // to put elements into a vector read from cin
   vector<int> vec ( 4 );
   vector <int>::iterator Iter;

   cout << "Enter 4 integers separated by spaces & then\n"
        << " a character ( try example: '2 4 6 8 a' ): ";
   istream_iterator<int> intvecRead ( cin );

   // Default constructor will test equal to end of stream
   // for delimiting source range of vecor
   copy ( intvecRead , istream_iterator<int>( ) , vec.begin ( ) );
   cin.clear ( );

   cout << "vec = ";
   for ( Iter = vec.begin( ) ; Iter != vec.end( ) ; Iter++ )
      cout << *Iter << " "; cout << endl;
}
  2 4 6 a 8
  2 4 6 a 8
Insira números inteiros 4 separados por espaços e em seguida por um caractere (try exemplo: “2 4 6 a 8 "): 2 4 6 8 vec um = 2 4 6 8

Requisitos

Cabeçalho: <iterator>

namespace: STD

Consulte também

Referência

istream_iterator Class

Standard Template Library