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