连续输入两个vector对象时,应在两次输入之间插入cin.clear()语句以对输入缓冲区进行清空

例如下面程序:

#include<iostream>
#include<vector>
using namespace std;
int main(){
    vector<int> ivec1,ivec2;
    int n;
    while(cin>>n)
        ivec1.push_back(n);
    cin.clear();  //关键语句
    int m;
    while(cin>>m)
        ivec2.push_back(m);
    bool flag=false;
    for(vector<int>::iterator iter1=ivec1.begin(),iter2=ivec2.begin();
        iter1!=ivec1.end()&&iter2!=ivec2.end();++iter1,++iter2){
        if(*iter1!=*iter2){
            flag=true;
            break;
        }
    }
    if(flag)
        cout<<"no"<<endl;
    else
        cout<<"yes"<<endl;
    return 0;
}