C++ Iterator 库 - 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 − 这是两个迭代器之间的区别。
返回值
none
异常
如果 x 在应用一元 operator& 时以某种方式抛出; 对它来说,这个函数永远不会抛出异常。
时间复杂度
随机访问迭代器的常量。
示例
以下示例显示了 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