std::experimental::make_ostream_joiner

来自cppreference.com
在标头 <experimental/iterator> 定义
template< class CharT, class Traits, class DelimT >

std::experimental::ostream_joiner<std::decay_t<DelimT>, CharT, Traits>
    make_ostream_joiner( std::basic_ostream<CharT, Traits>& os,

                         DelimT&& delimiter );
(库基础 TS v2)

创建 ostream_joiner 对象,从函数实参的类型推导模板实参。

参数

os - 要将迭代器关联到的 basic_ostream 对象
delimiter - 分隔符

返回值

如同用 std::experimental::ostream_joiner<std::decay_t<DelimT>, charT, traits>(os, std::forward<DelimT>(delimiter)) 创建的 ostream_joiner 对象。

示例

#include <experimental/iterator>
#include <iostream>
#include <vector>
 
int main()
{
    std::vector<int> x{1, 2, 3, 4};
    std::copy(x.begin(), x.end(),
              std::experimental::make_ostream_joiner(std::cout, ", "));
}

输出:

1, 2, 3, 4