Chapter 19.C++中的迭代器类型
来源:互联网 发布:java eclipse下载 编辑:程序博客网 时间:2024/05/22 09:50
插入迭代器
front_inserter(c)//list、deque
back_inserter(c)//vector、list、deque
inserter(c,c_iter)//在c的c_iter处插入
因为iostream迭代器不支持--,所以不支持反向迭代器
const迭代器
不可修改迭代器所指元素值,比如只是想读出元素,即可用const迭代器
输入迭代器 读,只支持++ istream_iterator
输出迭代器 写,只支持++ ostream_iterator
前向迭代器 读和写,只支持++
双向迭代器 读和写,支持++、--map、set、list
随机访问迭代器 读和写,支持完整的迭代器算术运算++、--、+、-、+=、-= etc.vector、deque、string、数组
front_inserter(c)//list、deque
back_inserter(c)//vector、list、deque
inserter(c,c_iter)//在c的c_iter处插入
front_insertercopy(c.begin(),c.end(),front_inserter/back_inserter(insert_container));back_inserterfill_n(back_inserter(iVec),10,1);inserterreplace_copy(iVec.begin(),iVec.end(),inserter(iLst.begin,iterPosition),0,999);iostream迭代器
//istream_iteratoristream_iterator<int> bindIter(cin),endIter;//vector<int> iVec;//while (bindIter != endIter)//{//iVec.push_back(*bindIter++);//}//or vector<int> iVec(bindIter,endIter);//ostream_iteratorostream_iterator<int> output(cout,"\t");unique_copy(iVec.begin(),iVec.end(),output);
//综合使用//读入cin中int,偶数放入文件outFileOdd,奇数放入文件outFileEvenistream_iterator<int> inBindIter(cin),inEndIter;ofstream outFileEven,outFileOdd;outFileEven.open("outFileEven.txt");outFileOdd.open("outFileOdd.txt");if (! outFileEven || ! outFileOdd){cerr<<"outFile error!"<<endl;return -1;}ostream_iterator<int> outBindIterEven(outFileEven,"\t"),outBindIterOdd(outFileOdd,"\t");while (inBindIter != inEndIter){if (*inBindIter % 2 == 0){*outBindIterEven++=*inBindIter++;}else{*outBindIterOdd++=*inBindIter++;}}outFileEven.close();outFileOdd.close();反向迭代器
因为iostream迭代器不支持--,所以不支持反向迭代器
const迭代器
不可修改迭代器所指元素值,比如只是想读出元素,即可用const迭代器
总结
5种迭代器输入迭代器 读,只支持++ istream_iterator
输出迭代器 写,只支持++ ostream_iterator
前向迭代器 读和写,只支持++
双向迭代器 读和写,支持++、--map、set、list
随机访问迭代器 读和写,支持完整的迭代器算术运算++、--、+、-、+=、-= etc.vector、deque、string、数组
- Chapter 19.C++中的迭代器类型
- C程序设计语言 chapter 2 类型 运算符和表达式
- C中的_Bool类型
- C语言中的类型
- C中的字符类型
- C中的布尔类型
- chapter 14 类型信息
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- C#.NET中的类型转换
- c语言中的类型转换
- C#.NET 中的类型转换
- C#.NET 中的类型转换
- bugfree升级报错“Field 'id' doesn't have a default value”问题解决
- 11月第3周新闻回顾:难忘的光棍节 辛劳的IT人
- 说说十大超级计算机
- CentOS 6.3设置静态IP教程
- PHP 5.5 Alpha1发布,不再支持XP和2003系统
- Chapter 19.C++中的迭代器类型
- 在Eclipse下搭建Android开发环境教程
- IT运维管理:确保无线网络安全的四秘诀
- 在Eclipse下搭建Android开发环境教程
- 例题6.3.1
- 7 款基于 HTML5 Canvas 的超炫 3D 动画效果
- MySql中的日期转换
- Android开发:系统自动实现开机启动
- Android开发:如何实现TCP和UDP传输