命名空间
变体
操作

std::istream_iterator<T,CharT,Traits,Distance>::operator++, operator++(int)

来自 cppreference.com
 
 
迭代器库
迭代器概念
迭代器原语
(在 C++17 中已弃用)


算法概念和实用程序
间接可调用概念
通用算法要求
(C++20)
(C++20)
(C++20)
实用程序
(C++20)
迭代器适配器
范围访问
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
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 不清楚流结束迭代器是否可以递增 行为未定义