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

上一篇 下一篇

猜你喜欢

热点阅读