说明
istream_iterator
读取元素的迭代器。
istream_iterator
用于从输入流istream
(如cin
)中读取连续的元素。所以可以如下定义一个istream_iterator
:
std::istream_iterator<double> iit (std::cin);
如果在定义istream_iterator
时不为它指定istream
对象,它便代表了end-of-file
。
头文件
#include <iterator>
例子:从输入流中读取两个值
下面的例子只是用于说明istream_iterator
的用法。
#include <iostream>
#include <iterator>
int main()
{
double value1, value2;
std::cout << "Please, insert two values: ";
std::istream_iterator<double> iit(std::cin); // stdin iterator
std::istream_iterator<double> eos; // end-of-stream iterator
if (iit != eos) value1 = *iit;
++iit;
if (iit != eos) value2 = *iit;
std::cout << value1 << "*" << value2 << "=" << (value1*value2) << '\n';
return 0;
}
结果:
Please, insert two values: 12 16
12*16=192
参考
http://www.cplusplus.com/reference/iterator/istream_iterator/
https://zh.cppreference.com/w/cpp/iterator/istream_iterator
网友评论