int main() { int n; istream_iterator<int> in_iter(cin), eof; //这里会吞掉第一个输入,进入到vec中,不理解 while(cin >> n) { cout << n <<endl; } cin.clear(); vector<int> vec(in_iter, eof); for(auto i = 0; i < vec.size(); ++i) { cout << vec[i] << endl; } }
Windows下,如果输入是 `1`+ CtrlZ + CtrlZ
还是会存入1进入vector,总会吞入第一个输入。不知道原因。