std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)
來自 cppreference.com
< cpp | 迭代器 | istream_iterator
istream_iterator& operator++(); |
(1) | |
istream_iterator operator++( int ); |
(2) | |
從底層流讀取一個值(使用其operator>>)並將其儲存到迭代器物件中。如果讀取失敗(底層流的fail()返回true),則迭代器變為流尾迭代器。
如果迭代器是流末尾迭代器,則行為未定義。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
1) *this
2) 一個持有未改變值的
istream_iterator
。[編輯] 異常
可能丟擲實現定義的異常。
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 260 | C++98 | operator++(int)的返回型別是istream_iterator& |
更正為istream_iterator |
LWG 788 | C++98 | 底層流的operator void*被 用於判斷讀取是否失敗,但它 在LWG issue 468的決議中被移除。 |
改用fail() |
LWG 838 | C++98 | 關於流尾迭代器是否可以增量尚不明確 | 行為未定義 |