建立乙個流迭代器的時候必須指定迭代器將要讀寫的物件型別。
istream_iterator:
istream_iteratorin_iter(cin); //從cin讀取int
istream_iteratoreof; //尾後迭代器
通過流迭代器讀入資料的例子:while (in_iter != eof)
注意:「++」運算子的優先順序要高於「*」的優先順序,並且再讀入的時候這兩個能夠改變迭代器
讀入也可以這麼操作,更簡便
vectorvec(in_iter, eof);
ostream_iterator:ostream_iteratoros(cout);將型別為int的值寫入out流中
ostream_iteratoros(cout, " ");將型別為int的值寫入out流中,且每個值後面增加乙個「 」
在ostream_iterator中,自增運算子和解引用運算子都不能改變迭代器,所以以下兩個例子作用是一樣的for (auto e : vec)
*os++ = e;
cout << endl;
for (auto e : vec)
os = e;
cout << endl;
不過,推薦使用第一種,因為這種讀者看起來更清晰。
tips,用copy來列印vector中的元素更簡單哦
copy(vec.begin(), vec.end(), os);
迭代器和I O
迭代器是一種處理位於容器中的元素序列的非常一般而又極其有用的概念。但是,容器並不是我們能夠遇到元素序列的僅有的地方。例如,乙個輸入流也能產生乙個值的序列,我們也會把乙個值的序列寫進乙個輸出流中。正因為這樣,人們也將迭代器的概念很有效地應用到輸入和輸出上。要做出乙個ostream iterator,我...
迭代器和I O
迭代器用在處理元素序列的地方。可以將迭代器的概念有效利用在輸入輸出上。輸出 include include include using namespace std ostream iteratoroo cout int main 上述 列印出hello,world和cout相同。輸入 include...
C STL 流迭代器
流迭代器是一種迭代器介面卡。istream iterator用於讀取輸入流,ostream iterator用於寫輸出流。這些迭代器將它們所對應的流視為特定型別的元素序列。使用流迭代器時,可以用泛型演算法從流物件中讀資料或將資料寫入到流物件中。流迭代器的建構函式如下 流迭代器的基本操作如下 1 流迭...