Автор Алекс Андр задал вопрос в разделе Другие языки и технологии
c++. cin.ignore и cin.clear и получил лучший ответ
Ответ от Bmx666[гуру]
istream& istream::ignore(streamsize n = 1, int delim = EOF);
определенная в классе istream, извлекает из потока символы и отбрасывает их. Причем она так поступает либо с n символами, либо со всеми символами, пока в потоке не встретится символ, заданный параметром delim.
В нашем случае мы стремимся отбросить максимальное число символов, которое может содержать поток, до первого перевода строки включительно.
void ios::clear(iostate state = goodbit);
Эта функция восстанавливает поток, если он по какой-либо причине оказался в ошибочном состоянии. Например, из потока пытались прочитать число, а там в это время находились буквы. В этом случае, поток переводится в состояние отказа, и дальнейшие операции с ним неосуществимы. В том числе и cin.get(). Функция же clear() “очищает” состояние потока, делая его вновь веселым и работоспособным.
Источник: cppstudy.wordpress.com/2009/03/27/cin-get-and-co/
cin.ignore(100,'\n'); тут вроде в обьект передается два параметра. флаг ios_base :: goodbit имеет значение ноль, указывает на отсутствие каких-либо флагов ошибки