Es ist üblich, das als std::istream_iterator<int> eos;
zu sehen, wie zum Beispiel im Beispiel ref, aber in Ihrem Fall könnte der von Ihnen gewählte Name besser passen.
Es ist eine Analogie zu EOF
, die für die Standardeingabe das Ende der Datei 1 nach dem letzten zu lesenden Element darstellt.
eos
ist so etwas wie ein letzter Iterator, der 1 nach dem letzten zu lesenden Element darstellt.
Es ist ähnlich wie EOF
, aber wie Sie sehen, nicht das Gleiche. Zum Beispiel, was Sie Ihren End Stream nennen, spielt keine Rolle. In dem oben genannten Link gibt es eine mögliche Implementierung, die Sie studieren können, wenn Sie möchten.
Außerdem cpprefernce erwähnt:
Der Standard konstruierten std :: istream_iterator als bekannt ist End-of-stream Iterator. Wenn ein gültiger std :: istream_iterator das Ende des zugrunde liegenden Datenstroms erreicht, wird er gleich dem Ende des Datenstroms Iterator. Durch das Dereferenzieren oder Inkrementieren wird das undefinierte Verhalten weiter aufgerufen.
Und von cplusplus, haben wir diese:
Diese Operatoren in Header <iterator>
überlastet sind.
Denken Sie an 'DataEnd' als eine verherrlichte EOF-Konstante, –