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对象的第一个模板参数。

  • traits − 它是关联的basic_istream的第二个模板参数。

  • Distance − 它是两个迭代器之间的差值。

返回值

异常

如果在对x应用一元运算符&时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
iterator.htm
广告

© . All rights reserved.