2
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <list>
using namespace std;
int main()
{
istream_iterator<int> in_iter(cin);
istream_iterator<int> eof;
vector<int> vin;
/*while (in_iter!=eof)
{
vin.push_back(*in_iter++);
}*/
istream_iterator<int> in_iter2(cin), eof2;
vector<int> vin2(in_iter2,eof2);
return 0;
}
當我輸入1 2 3 c
(最後一個元素「C」是使CIN狀態到EOF)到節目,最後,vin2
將包含元素:2 3
;然而,當我註釋變量in_iter
的聲明,相同的輸入將使vin2
包含元素:1 2 3
;變量in_iter
的聲明如何影響該程序?謝謝!用C istream_iterator ++的怪異結果
輸入EOF的正確方法是...輸入EOF。根據您使用的操作系統,它是ctrl-Z或ctrl-D。輸入c不會產生任何EOF。 – chris
「當我註釋變量in_iter的聲明時」 - 這是什麼意思? –
@TonyD,我在想評論。 – chris