istream_iterator
描述 (Description)
它是一个特殊的输入迭代器,可以读取输入流中的连续元素。
声明 (Declaration)
以下是std :: istream_iterator的声明。
C++11
template <class T, class charT = char, class traits = char_traits<charT>,
class Distance = ptrdiff_t>
class istream_iterator;
参数 (Parameters)
T - 它是迭代器的元素类型。
charT - 它是关联的basic_istream对象的第一个模板参数。
traits - 它是关联的basic_istream的第二个模板参数。
Distance - 这是两个迭代器之间的差异。
返回值
没有
异常 (Exceptions)
如果x在应用一元运算符时以某种方式抛出它,则此函数永远不会抛出异常。
时间复杂
随机访问迭代器的常量。
例子 (Example)
以下示例显示了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