Sdílet prostřednictvím


istream_iterator::istream_iterator

Konstrukce iterátor konec datového proudu jako výchozí istream_iterator nebo istream_iterator inicializovány k iteraci typ datového proudu ze které čte.

istream_iterator( ); 
istream_iterator( 
   istream_type& _Istr 
);

Parametry

  • _Istr
    Vstupní datový proud čtení používá k inicializaci istream_iterator.

Poznámky

První konstruktor inicializuje ukazatel vstupního datového proudu s ukazatel s hodnotou null a vytváří iterátor konec datového proudu.Druhý konstruktor inicializuje ukazatel vstupního datového proudu s &_Istr, se poté pokusí extrahovat a uložit objekt typu typu.

Iterační konec datového proudu lze použít k testování zda istream_iterator bylo dosaženo konce datového proudu.

Příklad

// 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 8
  2 4 6 8
zadejte 4 celých čísel oddělených mezerami & pak
 znak (zkuste příklad: "2 4 6 8"): 2 4 6 8
vec = 2 4 6 8

Požadavky

Hlavička: <iterátor>

Obor názvů: std

Viz také

Referenční dokumentace

istream_iterator – třída

Standardní knihovna šablon