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