C++ 迭代器库 - istream_iterator


描述

它是一个特殊的输入迭代器,可以从输入流中读取连续的元素。

宣言

以下是 std::istream_iterator 的声明。

C++11

template <class T, class charT = char, class traits = char_traits<charT>, 
         class Distance = ptrdiff_t>
   class istream_iterator;

参数

  • T - 它是迭代器的元素类型。

  • charT - 它是关联的 basic_istream 对象的第一个模板参数。

  • 特征- 它是关联的 basic_istream 的第二个模板参数。

  • 距离- 这是两个迭代器之间的差异。

返回值

没有任何

例外情况

如果 x 在对其应用一元运算符& 时以某种方式抛出异常,则该函数永远不会抛出异常。

时间复杂度

随机访问迭代器的常量。

例子

以下示例显示了 std::insert_iterator 的用法。

#include <iostream>
#include <iterator>

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

   std::istream_iterator<double> eos;              
   std::istream_iterator<double> iit (std::cin);   

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

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

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

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

Please insert values: 0*6.95264e-310=0
迭代器.htm