命名空间
变体
操作

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

来自 cppreference.cn
 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
(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 issue 468 的决议移除
改用 fail()
LWG 838 C++98 不清楚流末尾迭代器是否可以递增 行为未定义