公有成员函数
<iterator>

std::istream_iterator::operator*

reference operator*() const;
解引用迭代器
返回迭代器指向的元素的引用。

内部,函数返回对象存储的作为其当前元素的那个值。

如果迭代器刚刚从输入流构造,并且该操作的实现未在构造时从流中提取值,则现在会提取。

如果迭代器是流末尾迭代器,则不应对其执行解引用

参数



返回值

指向迭代器所指元素的常量引用。
成员类型 referenceconst value_type& 的别名,其中 value_type 是操作符提取的元素类型(第一个类模板参数)。

示例

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;
}

数据竞争

访问对象(某些库实现也可能修改它)。
返回的引用可用于访问元素。

异常安全

强保证:如果发生异常,迭代器的可见状态没有改变。

另见