连续输入两个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;
}
转载于:https://blog.51cto.com/beyond316/1272485