最終更新日時:
が更新

履歴 編集

class template
<iterator>

std::ostream_iterator

namespace std {
  template <class T, class CharT = char, class Traits = char_traits<CharT> >
  class ostream_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
}

概要

ostream_iteratorは出力イテレータであり、代入の際に外部から渡されたostreamオブジェクトにoperator<<()で値を出力するイテレータアダプタである。

メンバ関数

名前 説明
(constructor) コンストラクタ
~ostream_iterator() = default デストラクタ
operator= 代入演算子
operator* 間接参照
operator++ インクリメント

メンバ型

名前 説明
char_type CharT (デフォルトはchar)
traits_type Traits (デフォルトはchar_traits<CharT>)
ostream_type basic_ostream<CharT, Traits>
difference_type void
pointer void
value_type void
iterator_category output_iterator_tag
reference void

#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>

int main()
{
  const std::vector<int> v = {1, 2, 3};

  // vの要素をイテレートしながらstd::coutに出力(区切り文字にカンマ)
  std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ","));
}

出力

1,2,3,

参照