最近在看泛型编程的知识,发现了一个知识盲区,就是iostream迭代器。
现在使用其中的istream_iterator输入流迭代器来看一看,代码如下:
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
using std::vector;
int main(int argc, char *argv[])
{
istream_iterator<int> int_in(cin);
istream_iterator<int> int_eof;
vector<int> vecInts;
while (int_in != int_eof)
{
vecInts.push_back(*int_in++);
}
//以上几行也可以改为如下形式,两种写法等价
//vector<int> vecInts(int_in, int_eof);
for (const int& data : vecInts)
{
cout << data << ends;
}
}
运行结果如下:
对于这玩意能跑,我是真的深表诧异,对于我的代码观有了一个强烈的冲击。
先用这篇博客记录一下,提醒自己不会的还有很多,一点不能自满。