C++迭代器庫 - 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 − 它是兩個迭代器之間的差值。

返回值

異常

如果在對x應用一元運算子&時x以某種方式丟擲異常,則此函式永遠不會丟擲異常。

時間複雜度

對於隨機訪問迭代器,時間複雜度為常數。

示例

以下示例演示了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
iterator.htm
廣告