std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)
Von cppreference.com
< cpp | iterator | istream iterator
| istream_iterator& operator++(); |
(1) | |
| istream_iterator operator++( int ); |
(2) | |
Liest einen Wert aus dem zugrundeliegenden Stream (unter Verwendung dessen operator>>) und speichert ihn im Iteratorobjekt. Wenn das Lesen fehlschlägt (fail() des zugrundeliegenden Streams gibt true zurück), wird der Iterator zum End-of-Stream-Iterator.
Das Verhalten ist undefiniert, wenn der Iterator ein End-of-Stream-Iterator ist.
Inhalt |
[edit] Parameter
(keine)
[edit] Rückgabewert
1) *this
2) Ein
istream_iterator, der einen unveränderten Wert enthält.[edit] Exceptions
Kann implementierungsdefinierte Ausnahmen auslösen.
[edit] Defect reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 260 | C++98 | der Rückgabetyp von operator++(int) war istream_iterator& |
korrigiert zu istream_iterator |
| LWG 788 | C++98 | der zugrundeliegende Stream operator void* wurde verwendet, um festzustellen, ob das Lesen fehlschlägt, aber er wurde durch die Auflösung von LWG issue 468 entfernt |
verwendet stattdessen fail() |
| LWG 838 | C++98 | war unklar, ob End-of-Stream-Iteratoren inkrementiert werden können | das Verhalten ist undefiniert |