构造流结束迭代器为默认 istream_iterator 或 istream_iterator 都初始化为它读取的迭代器的类型流。
istream_iterator( );
istream_iterator(
istream_type& _Istr
);
参数
- _Istr
要读取的输入流使用初始化 istream_iterator。
备注
第一构造函数初始化空指针的输入流指针并创建流结束迭代器。 第二个构造函数初始化 &_Istr指针,然后尝试提取和存储类型 Type。
流结束迭代器可以是使用测试 istream_iterator 是否到达流的末尾。
示例
// 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 个 a2
FakePre-aaf84f981f974d0c85f11802a7b84c63-3d49fda2cb4b41088720fbf1c59766a3
要求
头文件: <iterator>
命名空间: std