const_iterator的使用,STL算法----copy(),输出迭代器---ostream_iterator()
来源:互联网 发布:迷恋网络的危害 编辑:程序博客网 时间:2024/05/18 03:27
#include <iostream>
#include <vector>
#include <algorithm>
// 注1:在用STL模版库的时候头文件不要加.h,要用命名空间
void show_sequence(std::vector<int>::const_iterator first, std::vector<int>::const_iterator last)
// 注2:const_iterator为 vector 中元素的一个 const 迭代器类型,这个类型定义为指向 const T 的迭代器类型
{
std::cout<<"{";
std::copy(first, last, std::ostream_iterator<int>(std::cout, " "));
// 注3:copy()的前两个参数是迭代器,它们定义了要复制元素的容器中的源间隔符,复制从first 开始,一直向前,直到 last 为止,但不包括 last.这两个参数可以接受任何迭代器。copy()函数的第三个参数是指定元素复制的目标位置的迭代器。
// 注4:std::ostream_iterator<int>(std::cout, " ")作用为:创建输出迭代器。第一个参数 cout 是应用这个迭代器的流,第二个参数是用于分隔所传送元素的分隔符。
// 注5:copy()算法把每个源元素赋予目标对象,但并不知道它处理的目标对象是什么类型。copy()函数仅把要复制的对象传送给第三个参数指定的迭代器,并假定迭代器知道应把他们放在什么地方。这样,copy()函数就独立于源对象和它复制的目标对象。
std::cout<<"}"<<std::endl;
}
void inspect_vector(const std::vector<int>& v)
// 注6:因为这里用的是 const 类型,所以这个函数调用的上一个函数接收时必须要用 const_iterator
//如果这里用的不是 const 类型,那么上面就可以直接用 iterator 了
{
std::cout<<"vector has "<<v.size()<<" elements: ";
show_sequence(v.begin(), v.end());
}
int main()
{
std::vector<int> v; //现在容器中有0个元素
int values[] = {1,3,5,7};
v.insert(v.end(), values+1, values+3); //现在容器中有2个元素分别为:3,5
inspect_vector(v);
return 0;
}
- const_iterator的使用,STL算法----copy(),输出迭代器---ostream_iterator()
- const_iterator的使用,STL算法----copy(),输出迭代器---ostream_iterator()
- C++中使用copy和ostream_iterator来输出map的内容
- 使用STL copy 算法输出vector中的elements
- const_iterator的使用
- 如何使用一个输出流迭代器 ostream_iterator
- 如何使用一个输出流迭代器 ostream_iterator
- STL中const迭代器与const_iterator区别
- 使用std::copy以及ostream_iterator快速对数组操作
- 使用copy算法输出map中的内容
- STL 简单 copy 算法的实现
- C++中流迭代器istream_iterator 和 ostream_iterator的使用
- 输出迭代器 ostream_iterator 把输入的一串字符按每行一个单词输出
- effective stl 第27条:使用distance和advance将容器的const_iterator转换为iterator
- STL中copy算法
- STL算法之copy
- 【STL】算法 — copy
- stl之算法copy
- Xcode5 关联 git 使用bitbucket托管 搭建多人协作开发
- TestNG+Ant 测试报告美化
- 截:截图、截屏 20140904 ⑨图像处理
- httpclient将android数据post到数据库
- 在Linux虚拟机下安装Mysql,并远程访问
- const_iterator的使用,STL算法----copy(),输出迭代器---ostream_iterator()
- 对ADC(DAC)的线性度(INL和DNL)的一点理解
- 苹果公司推出的ios 6测试版的iPhone和iPad
- 测试一下
- XPath 详解,总结---写的不错
- 整理
- 嵌入式 amr-linux上udpsvd以及tcpsvd作用说明
- 常见HTTP状态码
- JScript---数据类型转换