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

What does cin.ignore(numeric_limits<streamsize>::max(), '\n') mean in C++?

Does it actually ignore the last input from the user?


This line ignores the rest of the current line, up to '\n' or EOF - whichever comes first:

  • '\n' sets the delimiter, i.e. the character after which cin stops ignoring
  • numeric_limits<streamsize>::max() sets the maximum number of characters to ignore. Since this is the upper limit on the size of a stream, you are effectively telling cin that there is no limit to the number of characters to ignore.