std::istream_iterator<T,CharT,Traits,Distance>::istream_iterator
提供: cppreference.com
<tbody>
</tbody>
constexpr istream_iterator(); |
(1) | |
istream_iterator( istream_type& stream ); |
(2) | |
istream_iterator( const istream_iterator& other ) = default; |
(3) | |
1) ストリーム終端イテレータを構築し、格納される値を値初期化します。 定義内の初期化子
auto x = T(); が定数初期化子の場合、このコンストラクタは constexpr です。2) イテレータを初期化し、
stream のアドレスをデータメンバに格納し、キャッシュされた値のデータメンバを初期化するために入力ストリームから最初の入力を行います。3)
other のコピーを構築します。 std::is_trivially_copy_constructible_v<T> が true であれば、このコピーコンストラクタはトリビアルなコピーコンストラクタになります。引数
| stream | - | istream_iterator を初期化するためのストリーム |
| other | - | 同じ型の別の istream_iterator |
欠陥報告
以下の動作変更欠陥報告は以前に発行された C++ 標準に遡って適用されました。
| DR | 適用先 | 発行時の動作 | 正しい動作 |
|---|---|---|---|
| P0738R2 | C++98 | the first read may be deferred to the first dereferencing | the first read is performed in the constructor |
例
Run this code
#include <iostream>
#include <iterator>
#include <algorithm>
#include <sstream>
int main()
{
std::istringstream stream("1 2 3 4 5");
std::copy(
std::istream_iterator<int>(stream),
std::istream_iterator<int>(),
std::ostream_iterator<int>(std::cout, " ")
);
}
出力:
1 2 3 4 5