std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)
来自 cppreference.com
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 问题 468 的解决中被删除了 |
而是使用 fail() |
LWG 838 | C++98 | 不清楚流结束迭代器是否可以递增 | 行为未定义 |