cin的奇怪有关问题

cin的奇怪问题
程序如下:
#include   <iostream>
#include   <vector>
using   namespace   std;

int   main()
{
vector <int>   ivec1;
vector <int>   ivec2;
int   i_tmp;
int   i_tmp2;
cout   < <   "enter   the   first   array: "   < <endl;
while(   cin   > >   i_tmp   )
ivec1.push_back(   i_tmp   );
cout   < <   "enter   the   second   array: "   < <endl;
while(   cin   > >   i_tmp2   )
ivec2.push_back(   i_tmp   );
                 
                  cout < <   ivec2.size()   < <endl;
return   0;
}
疑问:
为什么ivec2的长度总是0?

------解决方案--------------------
ivec2.push_back( i_tmp );

ivec2.push_back( i_tmp2 );
------解决方案--------------------
cout < < "enter the second array: " < <endl;
cin.clear();
while( cin > > i_tmp2 )