Single Most Efficient Way to Clear Keyboard Buffer C++

Hi All,

Can someone please tell me the single most efficient way to clear the keyboard buffer in C++?  I found the following but don't know if it's efficient:

cin.ignore(numeric_limits<streamsize>::max(), '\n');

Some background:  I'm a college student in 1st Semester OOP.

- Thanks
LVL 1
realchickAsked:
Who is Participating?
 
jkrConnect With a Mentor Commented:
That's indeed the most portable way to do that, it just looks a bit complicated, while it isn't complicated at all. E.g. 'numeric_limits<streamsize>::max()' evaluates to a single value. Plus, it is way more efficiant to run a loop until 'cin()' is empty. So, apart from some specialities for some compilers/frameworks (e.g. MS compilers would allow a 'rewind(stdin);' for that), it is probably the most efficiant and simple way.
0
 
realchickAuthor Commented:
Good, I'm going to post this to my classroom discussion.  Out textbook doesn't mention "numeric_limits" or even cin.clear()...so I struggled to find a good input validation solution online and my while loop just ran for miles and miles!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.