std::istream_iterator<T,CharT,Traits,Distance>:: operator++, operator++ (int)
From de.cppreference.net
<
cpp
|
iterator
|
istream iterator
|
istream_iterator
&
operator
++
(
)
;
|
(1) | |
|
istream_iterator operator
++
(
int
)
;
|
(2) | |
Liest einen Wert aus dem zugrundeliegenden Stream (unter Verwendung seines operator>> ) und speichert ihn im Iterator-Objekt. Wenn das Lesen fehlschlägt (der zugrundeliegende Stream gibt mit fail() true zurück), wird der Iterator zum End-of-Stream-Iterator.
Das Verhalten ist undefiniert, wenn der Iterator ein End-of-Stream-Iterator ist.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
1)
*
this
2)
Ein
istream_iterator
, der einen unveränderten Wert enthält.
Exceptions
Kann implementierungsdefinierte Ausnahmen auslösen.
Fehlerberichte
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 zugrunde liegende Streams
operator
void
*
wurde verwendet, um zu bestimmen, ob das Lesen fehlschlägt, aber es
wurde durch die Lösung von LWG Issue 468 entfernt |
verwendet stattdessen fail() |
| LWG 838 | C++98 | es war unklar, ob End-of-Stream-Iteratoren inkrementiert werden können | das Verhalten ist undefiniert |