Was bedeutet diese bestimmte Zeile cin.ignore(numeric_limits<streamsize>::max(), '\n')
in der C++ - Programmierung? Ignoriert dies tatsächlich die letzte Eingabe des Benutzers?
Diese Zeile ignoriert den Rest der aktuellen Zeile bis zu '\n'
oder EOF
- je nachdem, was zuerst eintritt:
'\n'
legt den Begrenzer fest, d. h. das Zeichen, nach dem cin
aufhört zu ignorierennumeric_limits<streamsize>::max()
legt die maximale Anzahl der zu ignorierenden Zeichen fest. Da dies die Obergrenze für die Größe eines Streams ist, sagen Sie cin
effektiv, dass die Anzahl der zu ignorierenden Zeichen nicht begrenzt ist.cin.ignore (numeric_limits <Streamsize> :: max (), '\ n');
Der \n
fungiert hier als Trennzeichen. Dies ist der Punkt, bis zu dem der Code ignoriert werden muss (in diesem Fall als "\ n"). Und max()
definiert, dass es keine Begrenzung gibt, wie viel ignoriert werden kann. Die Leerzeichen und Tabulatoren müssen ignoriert werden, bis die Zeile endet.