Копирование-вставка из стандарта,
basic_istream<charT,traits>&
ignore(streamsize n = 1, int_type
delim = traits::eof());
Эффекты: Ведет себя как неформатированный
функция ввода (как описано в
27.6.1.3, пункт 1). После постройки сторожевого объекта,
извлекает персонажей и отбрасывает их.
Символы извлекаются до тех пор, пока
происходит следующее:
- если
n != numeric_limits<streamsize>::max()
(18.2.1), извлекаются n
символов
- конец файла встречается во входной последовательности (в этом случае функция
звонки
setstate(eofbit)
, которые могут
бросок ios_base::failure
(27.4.4.3));
c == delim
для следующего доступного входного символа c
(в этом случае c
экстрагируют). * * тысячу двадцать-одна
Вы прокомментировали строку с numeric_limits<>::max
выше, но похоже, что вы не хотели использовать что-то, что вы не совсем поняли, что тоже хорошо.
Единственное, что кто-то может захотеть, кроме ignore
, - это неблокирующее поведение, то есть не ждите, пока пользователь нажмет return, если терминал находится в небуферизованном режиме. Насколько я знаю, это просто не поддерживается iostreams.