Бесконечный цикл с cin при вводе строки, когда ожидается число

В следующем цикле, если мы вводим символы в качестве ввода cin вместо ожидаемых чисел, то он переходит в бесконечный цикл. Не мог бы кто-нибудь объяснить мне, почему это происходит?

Когда мы используем cin , если ввод не является числом, то есть ли способы обнаружить это, чтобы избежать вышеупомянутых проблем?

unsigned long ul_x1, ul_x2;

while (1)
{
  cin >> ul_x1 >> ul_x2;
  cout << "ux_x1 is " << ul_x1 << endl << "ul_x2 is " << ul_x2 << endl;
}
21
задан sashoalm 14 September 2016 в 05:09
поделиться