Freigeben über


istream_iterator::istream_iterator

Erstellt entweder einen Ende-vonStream Iterator als Standard istream_iterator oder istream_iterator, das dem Streamtyp des Iterators initialisiert wird, von dem liest.

istream_iterator( ); 
istream_iterator(
   istream_type& _Istr
);

Parameter

  • _Istr
    Der Verwendung gelesen werden Eingabestream, istream_iterator zu initialisieren.

Hinweise

Der erste Konstruktor initialisiert den Eingabestreamzeiger mit einem NULL-Zeiger und erstellt einen Ende-vonStream Iterator.Der zweite Konstruktor initialisiert den Eingabestreamzeiger mit &_Istr, versucht, ein Objekt des Typs Typ zu extrahieren und zu speichern.

Der Ende-vonStream Iterator kann verwendet werden, um zu testen, ob istream_iterator das Ende eines Streams erreicht wurde.

Beispiel

// 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 ein
  2 4 6 8 ein
 Geben Sie 4 ganze Zahlen ein, die durch Leerzeichen &. dann ein Zeichen (Versuchbeispiel getrennt werden: "2 4 6 8 a "): 2 4 6 8 ein vec = 2 4 6 8

Anforderungen

Header: <iterator>

Namespace: std

Siehe auch

Referenz

istream_iterator Class

Standardvorlagenbibliothek