Я новичок в программировании, изучаю массивы и указатели, но столкнулся с проблемой буфера и хотел бы развеять два сомнения:
- Какая польза от очистки буфера?
- Как очищается буфер?
Я видел, что эта функция часто используется, cin.ignore()
но я действительно не понимаю, как она используется, если возможно, приведите мне несколько примеров, чтобы узнать, как и когда она используется.
Предположим, у вас есть приложение, которое по ходу дела задает пользователю вопросы...
В таком случае было бы важно очистить буфер ввода, потому что во время ожидания пользователь мог непреднамеренно коснуться клавиатуры, и это случайное прикосновение осталось в буфере до тех пор, пока не будет прочитан стандартный ввод (cin).
Это проектное решение, когда вы хотите быть (несколько больше) уверенным, что это сознательное решение пользователя и поэтому вы не принимаете данные в буфере.
Итак, прежде
cin >> opcion
чем поставитьcin.ignore(N)
, принудительно отбросить N байтов из входного буфера.Наконец, я не уверен, что есть портативное решение для всех платформ, это основа. Есть и другие варианты стиля C++.