设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 170|回复: 1
打印 上一主题 下一主题

求助C++达人

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:51:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <vector>

#include <iostream>

#include <algorithm>

using namespace std;

main(){

int a[5] = {1,2,3,4,5};

CMyostream_iterator<int> output(cout,"*");

vector<int> v(a,a+5);

copy(v.begin(),v.end(),output);

}
  

程序的输出结果是:

1*2*3*4*5*

注意,编写CMyostream_iterator时不能使用 ostream_iterator

参考 copy 的help

copy

template<class InIt, class OutIt> OutIt copy(InIt first, InIt last, OutIt x);

The template function evaluates *(x + N) = *(first + N)) once for each N in the range [0, last - first), for strictly increasing values of N beginning with the lowest value. It then returns x + N. If x and first designate regions of storage, x must not be in the range [first, last]

请问,哪位前辈能给个参考。不胜感激
2#
发表于 2009-11-4 00:51:49 | 只看该作者
#include<iterator>
...
copy(v.begin(),v.end(),ostream_iterator(cout, "*");
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 23:43 , Processed in 0.104052 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表