首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::ostreambuf_iterator

Defined in header <iterator>

?

?

template< class CharT, class Traits = std::char_traits<CharT> > class ostreambuf_iterator : public std::iterator<std::output_iterator_tag, void, void, void, void>

?

(until C++17)

template< class CharT, class Traits = std::char_traits<CharT> > class ostreambuf_iterator;

?

(since C++17)

std::ostreambuf_iterator是一次过OutputIterator将连续字符写入std::basic_streambuf对象,它是为其构造的。当迭代器%28(不管是否取消引用)分配给%29时,将执行实际的写操作。递增std::ostreambuf_iterator是个禁止行动。

在典型的实现中,std::ostreambuf_iterator是指向关联std::basic_streambuf和一个布尔标志,指示是否达到了文件结束条件。

成员类型

Member type

Definition

char_type

CharT

traits_type

Traits

streambuf_type

std::basic_streambuf<CharT, Traits>

ostream_type

std::basic_ostream<CharT, Traits>

成员函数

(constructor)

constructs a new ostreambuf_iterator (public member function)

(destructor) (implicitly declared)

destructs an ostreambuf_iterator (public member function)

operator=

writes a character to the associated output sequence (public member function)

operator*

no-op (public member function)

operator++operator++(int)

no-op (public member function)

failed

tests if output failed (public member function)

成员类型

Member type

Definition

value_type

void

difference_type

void

pointer

void

reference

void

iterator_category

std::output_iterator_tag

注意:在C++17之前,这些成员类型必须通过从std::iterator<std::output_iterator_tag,void,void,void,void>...

二次

代码语言:javascript
复制
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
 
int main()
{
    std::string s = "This is an example\n";
    std::copy(s.begin(), s.end(), std::ostreambuf_iterator<char>(std::cout));
}

二次

产出:

二次

代码语言:javascript
复制
This is an example

二次

另见

istreambuf_iterator

input iterator that reads from std::basic_streambuf (class template)

ostream_iterator

output iterator that writes to std::basic_ostream (class template)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com