public member function
<iterator>

std::istream_iterator::operator++

(1)
istream_iterator& operator++();
(2)
istream_iterator  operator++(int);
前进迭代器位置
istream_iterator 向前移动一个位置。

在内部,该函数从其*关联的流*中提取一个元素,并将其存储起来,以便在解引用时返回。

参数

无(第二个版本重载了后缀递增运算符)。

返回值

前缀递增版本(1)返回*this
后缀递增版本(2)返回调用前*this的值。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// istream_iterator example
#include <iostream>     // std::cin, std::cout
#include <iterator>     // std::istream_iterator

int main () {
  double value1, value2;
  std::cout << "Please, insert two values: ";

  std::istream_iterator<double> eos;              // end-of-stream iterator
  std::istream_iterator<double> iit (std::cin);   // stdin iterator

  if (iit!=eos) value1=*iit;

  ++iit;
  if (iit!=eos) value2=*iit;

  std::cout << value1 << "*" << value2 << "=" << (value1*value2) << '\n';

  return 0;
}

数据竞争

修改对象。
返回的迭代器可用于访问或修改指向的元素。

异常安全

基本保证:如果抛出异常,对象处于有效状态。

另见