2010-08-30 5 views
-1

Какой поток может вызвать функцию запуска навсегда?Поток делает функцию run forever

Есть ли такой поток?

+9

Этот вопрос не имеет каких-либо деталей вообще. На него нельзя ответить в текущей форме. – Omnifarious

+0

Звучит как вопрос интервью для меня. – xtofl

+0

Зачем вам нужен поток? Поместите 'for (;;);' в конце вашей функции, это заставляет его работать вечно. –

ответ

2

ifstream ("/ DEV/случайное") ifstream ("/ DEV/ноль")

2

Если поток встречает ошибку, он остановит возвращение/прием информации. Если ваша функция ждет, когда что-то выйдет из потока, она будет вращаться навсегда.

Используйте if (cin) (приведите поток к bool), чтобы проверить наличие ошибки. В качестве альтернативы вызовите cin.exceptions(ios::badbit) при инициализации программы или потока, поэтому условие ошибки выдает исключение, а не тихое вращение.

Позвоните cin.clear() (или любой другой поток), за которым следует cin.ignore(), например, чтобы удалить оскорбительный ввод, если программа может восстановить такую ​​ошибку.

+0

Нет, нет ... этот ответ слишком серьезный. И вопрос был «какой поток», а не какой поток. +1 от меня все равно ;-) –

Смежные вопросы