Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57674
  • 博文数量: 7
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-26 22:26
文章分类
文章存档

2009年(2)

2008年(5)

我的朋友

分类: C/C++

2008-11-23 01:17:46

 
写过这样的代码:
vector vecint;
for (int i =0; i
{
    cout<< vecint[i]<<" ";
}
很明显,是要输出整形vector对象 vecint 的全部元素,每两个值之间空一格。
 
或许会怎么写:
for (vector ::iterator iter = vecint.begin();
       iter != vecint.end(); ++iter)
{
    cout<< *iter << " ";
}
 
不过,这样是不是很麻烦呢?
 
其实有更简便的办法。
 
在iostream头文件中,定义了这样一个函数 copy. 具体的信息可以参见msdn或者其他文档,这里只是举一个小小的例子:
 
 int ar[4] = {1, 2, 3, 4};
 vector a(ar, ar+4);
 copy (a.begin(), a.end(), ostream_iterator (cout, ", "));
 
输出的结果是:
1, 2, 3, 4
 
怎么样,很棒吧!
相信聪明的你已经看出来了,我就不多啰嗦了。
 
happy!
 
阅读(2147) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-01-15 20:44:37

这个是泛型编程里的东西哈~~强大~~~