std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)
来自 cppreference.cn
< cpp | iterator | istream iterator
istream_iterator& operator++(); |
(1) | |
istream_iterator operator++( int ); |
(2) | |
从底层流读取值(使用其 operator>>)并将其存储到迭代器对象中。如果读取失败(底层流的 fail() 返回 true),则迭代器变为流末尾迭代器。
如果迭代器是流末尾迭代器,则行为未定义。
目录 |
[编辑] 参数
(无)
[编辑] 返回值
1) *this
2) 一个持有未更改值的
istream_iterator
。[编辑] 异常
可能抛出实现定义的异常。
[编辑] 缺陷报告
以下行为变更缺陷报告被追溯应用到先前发布的 C++ 标准。
DR | 应用于 | 已发布行为 | 正确行为 |
---|---|---|---|
LWG 260 | C++98 | operator++(int) 的返回类型是 istream_iterator& |
更正为 istream_iterator |
LWG 788 | C++98 | 底层流的 operator void* 是用于确定读取是否失败,但它 已被 LWG issue 468 的决议移除 |
改用 fail() |
LWG 838 | C++98 | 不清楚流末尾迭代器是否可以递增 | 行为未定义 |