用cin来控制while循环

while(cin >> rplace_x >> rplace_y )

cin是istream类的一个对象。抽取运算符(>>)使得cin>>rplace_x也成为一个istream对象。类运算符是使用函数实现的。使用cin>>rplace_x时, 程序将调用一个函数,该函数也将返回一个istream的值。将抽取运算符用于cin>>rplace_x对象(cin>>rplace_x>>rplace_y),也将获得一个istream对象。因此,整个while循环的测试表达式的最终结果为cin,而cin被用于测试表达式中时,将根据输入的是否成功,被转换成bool值得true或fulse。

例如,cin期望用户输入2个数字,当用户输入了q,cin将认为q不是数字,从而将q留在输入队列中,并返回一个被转换为fulse的值。导致循环结束。

对比

for(int i=0;i<limit;i++)
{
   cin>>temp;
  if(temp<0){
      break;
}
   a[i]=temp;
}
原文地址:https://www.cnblogs.com/Augustusben/p/14269232.html