Namespaces
Variants

std::ostream_iterator<T,CharT,Traits>:: operator=

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
ostream_iterator & operator = ( const ostream_iterator & ) ;
(1)
ostream_iterator & operator = ( const T & value ) ;
(2)
1) コピー代入演算子。 other の内容を代入します。
2) 関連付けられたストリームに value を挿入し、その後、構築時に指定されていた場合は区切り文字を挿入します。

out_stream が関連付けられた std::basic_ostream へのポインタであり、 delim がこのオブジェクトの構築時に指定されたデリミタである場合、効果は以下と同等です

* out_stream << value ;
if ( delim ! = 0 )
* out_stream << delim ;
return * this ;

目次

パラメータ

value - 挿入するオブジェクト

戻り値

* this

注記

T はユーザー定義の operator<< を持つ任意のクラスにできます。

C++20より前では、コピー代入演算子の存在は 非推奨の暗黙的生成 に依存していました。

#include <iostream>
#include <iterator>
int main()
{
    std::ostream_iterator<int> i1(std::cout, ", ");
    *i1++ = 1; // 標準的な形式、標準アルゴリズムで使用される
    *++i1 = 2;
    i1 = 3; // * も ++ も不要
    std::ostream_iterator<double> i2(std::cout);
    i2 = 3.14;
    std::cout << '\n';
}

出力:

1, 2, 3, 3.14