迭代器iterator
现在接着上篇的,写一来标识vector 的元素的对象迭代器iterator:
还是通过具体代码举例:
下面我讲了一个我暑期团队的故事哦~~:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<string> myteam;
myteam.push_back("Kai She");
myteam.push_back("Cai Baobao");
myteam.push_back("This is me");
vector<string>::iterator myIte; //迭代器iterator的引用方法
vector<string>::const_iterator ite; // 常量迭代器,不能引用它来更改它所引用的元素,但是它本身可以更改
cout <<" Your teams are:\n";
for (ite = myteam.begin(); ite != myteam.end(); ++ite)//遍历容器
cout << "\t " << *ite << endl;
cout <<" Because Kai She goes to work, Chen Baobao student comes:\n";
myIte = myteam.begin();//更改元素的值,,,此处表示更改第一个元素的值
*myIte = "Chen Baobao";//队长走了,换成了另一个队友~~
cout << "\n Now ,your teams are:\n";
for ( ite = myteam.begin(); ite != myteam.end(); ++ite)
cout << *ite << endl;
cout <<"\n The teams name ' " << *myIte << " ' has "
<<(*myIte).size() << " letters in it.\n";//这个方法不大好
cout << "\n The teams name ' " << *myIte << " ' has "
<< myIte->size() << " letters in it\n";//第二种方法
cout << "You find a member join in your team\n" ;
myteam.insert(myteam.begin(), " Xing Baobao");//添加新的成员,直接加入了一个新成员
cout << " Because you are not excellent enough , you were pop" << endl;
myteam.erase(myteam.begin() + 2);//我被我的团队踢出去了~~~哈哈
cout <<"\n Your teams :\n";
for (ite = myteam.begin(); ite != myteam.end(); ++ite)
cout << *ite << endl;
}
可以顺便看一下运行结果就可以很清楚的理解iterator的用法了~~

具体例子我写的是自己的队员,通过string对象的myIte 的迭代器:用来标识vector中的一个特定元素的值它是vector中引用一种元素的方法;
在遍历容器时:end()成员函数返回容器中最后一个元素之后的迭代器(不是最后一个元素),所以,不能从end()返回的迭代器中获取值。
在删除一个一个元素时用erase,如果要从在内删除的话,可以在begin()后面直接加数字就行:例如要删除第3个元素:
myteam.erase(myteam.begin() + 2);
所以vector以及iterator的基本用法先写这么点了~~~
迭代器iterator的更多相关文章
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- VC++ 迭代器 iterator, const_iterator, const iterator
迭代器 iterator, const_iterator, const iterator 迭代器iterator的作用类似于指针. (1)iterator只有针对制定<类型>的容器才有效. ...
- c++中的迭代器 iterator
迭代器iterator的作用类似于指针. iterator只有针对制定<类型>的容器才有效.例如: vector<int> vec; vector<int>::it ...
- Python的迭代器(iterator)和生成器(constructor)
一.迭代器(iterator) 1.迭代器的概述 在Python中,for循环可以用于Python中的任何类型,包括列表.元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器 迭代器 ...
- 设计模式 - 迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释
迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 參考迭代器模式(ite ...
- Java 实现迭代器(Iterator)模式
类图 /** * 自己定义集合接口, 相似java.util.Collection * 用于数据存储 * @author stone * */ public interface ICollection ...
- C++迭代器 iterator【转】
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型.(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector<int>::iterator iter ...
- Java迭代器Iterator
之前我们实现了迭代器模式,很多编程语言实际上已经内置了迭代器类,比如Java就为我们实现了迭代器Iterator.我们首先来看Iterator中的源码. 通过JDK源码我们发现Iterator是一个接 ...
- 迭代器 Iterator
迭代器 Iterator 2016-5-7 可以这样说,迭代器统一了对容器的访问方式. 考虑这样的情景:原本是对着List编码,但是后来发现需要把相同的代码用于Set.我们需要一种不关心容器类型 而能 ...
随机推荐
- Markdown 写作工具选择
Markdown 写作工具选择 候选产品 参考了少数派网站 markdown 写作工具2015年度盘点 http://sspai.com/32483, Windows 下 Markdown 的编辑工具 ...
- JQuery中的html(),text(),val()区别
jQuery中.html()用为读取和修改元素的HTML标签,.text()用来读取或修改元素的纯文本内容,.val()用来读取或修改表单元素的value值. 1.HTML html():取得第一个匹 ...
- LYDSY模拟赛day9 2048
/* 大模拟题,做的时候思路还是比较清晰的 */ #include<iostream> #include<cstdio> #include<string> #inc ...
- nyoj 252 01串 动态规划( java)
当n=2时, 输出 3:当n=3时, 输出 5:当n=4时, 输出 8: #### 分析: 当n=4时,如 0101 符合条件, 当第一个位置是0时,还剩3个位置 ,与n=3时个数相等: 符合条件的为 ...
- 【C语言入门教程】2.5 字符型数据
字符型数据用于在计算机上保存字符编码和一些文本控制命令,多个字符型数据和字符串结束符组成的序列称为字符串.Linux 系统与其他大多数操作系统一样,支持 ASCII编码对字符编码,每个字符占用 1 个 ...
- Windows下如何修改php.ini的访问路径?
Windows下,用 IIS跑PHP,有个缺点,那就是一定要把 php.ini 放在 Windows 的系统路径下 (C:/Windows) .不过,可以通过以下方式修改访问路径: 第一步: 把PHP ...
- 《深入浅出WPF》笔记二
1.消息驱动与事件驱动 事件 即封装过的消息 2.数据驱动 3.Binding Source.Target.Path.INotifyPropertyChanged结构 this.textBoxName ...
- WPF:类型转换器的实现
类型转换器提供字符串文本到值的转换方法来帮助WPF设计时在XAML中配置属性.具体用法可以参考MSDN的文档:如何:实现类型转换器. 下面是一个Demo,参考自<葵花宝典--WPF自学手册> ...
- maven之ubutu安装
1.下载地址:http://maven.apache.org/download.cgi 2.安装 将下载后的文件解压到你指定的文件即可,命令如下: tar -xzvf apache-maven-3.0 ...
- CodeForces 615B Longtail Hedgehog
题目: http://codeforces.com/problemset/problem/615/B 题意:题目描述很复杂,但实际上很简单.大意就是连续的几个点组成尾巴,要求尾巴的长度乘以尾巴终点的分 ...