C++ STL istream_iterator 使用说明
2019-09-27 本文已影响0人
book_02
说明
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