SGI

ostream_iterator<T>

类别:迭代器 组件类型:类型

描述

Anostream_iteratorOutput Iterator,对类型 T 的对象执行格式化输出T到特定ostream。请注意,必须遵循 Output Iterator 的所有限制,包括对排序的限制operator*operator++操作。

示例

vector的一个元素复制到标准输出,每行一个。
vector<int> V;
// ...
copy(V.begin(), V.end(), ostream_iterator<int>(cout, "\n"));

定义

在标准头 iterator 中和非标准后向兼容头 iterator.h 中定义。

模板参数

参数 描述 默认值
T 将写入到的对象类型ostream。的类型的集合ostream_iterator包括一个类型,即T.  

Output Iterator

模型类型.

类型要求

T必须是类型cout << T是一个有效的表达式。

公共基类

无。

成员

成员 定义于 描述
ostream_iterator(ostream&) ostream_iterator 见下文。
ostream_iterator(ostream&, const char* s) ostream_iterator 见下文。
ostream_iterator(const ostream_iterator&) 模型类型 拷贝构造函数
ostream_iterator& operator=(const ostream_iterator&) 模型类型 赋值运算符
ostream_iterator& operator=(const T&) 模型类型 用于实现 Output Iterator 要求*i = t. [1]
ostream_iterator& operator*() 模型类型 用于实现 Output Iterator 要求*i = t. [1]
ostream_iterator& operator++() 模型类型 前增量
ostream_iterator& operator++(int) 模型类型 后增量
output_iterator_tag iterator_category(const ostream_iterator&) 迭代器标签 返回迭代器的类别。

新成员

这些成员未在 Output Iterator 需求中定义,但特定于ostream_iterator.
函数 描述
ostream_iterator(ostream& s) 创建ostream_iterators << tst等价于.
ostream_iterator(ostream& s, const char* delim) 创建ostream_iterators << tsts << t << delim.

备注

[1] 请注意如何通过ostream_iterator实现赋值。通常,一元operator*必须定义,以便它返回代理对象,其中代理对象定义operator=来执行输出操作。在这种情况下,为了简单起见,代理对象就是ostream_iterator本身。即*i只返回i,并且*i = t等价于i = t。但是,您不应该依赖此行为。这是一个实现细节,将来版本中不会保证它保持不变。

另请参见

istream_iterator输出迭代器输入迭代器
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 所有权利保留。 商标信息