迭代器是指针的泛化,是一种检查容器内元素并遍历元素的数据类型。迭代器允许程序员一相同的方式处理不同的数据结构。
例、编写程序来创建有10个元素的vector对象,用迭代器吧每个元素改为当前值的2倍并输出。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
//定义一个vector并赋值输出
vector<int> ivec;
cout<<"Before *2 the elements are:"<<endl;
for(vector<int>::size_type ix=0;ix!=10;++ix)
{
ivec.push_back(ix);
cout<<ivec[ix]<<'\t';
}
//把每个值乘以2并输出
cout<<"After *2 the elements are:"<<endl;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
{
*iter*=2;
cout<<*iter<<'\t';
}
return 0;
}
运行结果:
分享到:
相关推荐
除了使用下标来访问 vector 对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator)。迭代器是一种检查容器内元素并遍历元素的数据类型。 标准库为每一种标准容器(包括vector)定义了一种迭代...
迭代器模式(Iterator)C++实现
设计模式C++学习之迭代器模式(Iterator)
每一个标准库容器类型都定义了一个名为 iterator 的成员,这里的 iterator 与迭代器实际类型的含义同样。 begin 和 end 操作 每种容器都定义了一对命名为 begin 和 end 的函数,用于返回迭代器。假设容器中有...
C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式
关于 C++ STL 迭代器 的最佳入门教程之一。 轻松、幽默、干脆、一看就会!却不乏C++编程思想之启发!
Head First 设计模式 (九) 迭代器与组合模式(Iterator & Composite pattern) C++实现
NULL 博文链接:https://jacky-dai.iteye.com/blog/1088098
使用迭代器iterator可以更方便地解引用和访问成员,当然也包括vector中的元素,本文就来详解C++中的vector容器及用迭代器访问vector的方法,需要的朋友可以参考下
C++的STL定义了5种迭代器 输入迭代器:提供了对其指向元素的只读操作以及前++和后++操作符 输出迭代器:提供了对其指向元素的写操作和++操作符 向前迭代器:具有++操作符 双向迭代器:既具有++操作符也具有–...
主要为大家详细介绍了C++设计模式之迭代器模式Iterator,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C++设计模式课件21_Iterator_迭代器.pdf
用迭代器输出向量和普通输出,Iterator str=vs.iterator()
c++设计模式-行为型模式-迭代器模式;qt工程;c++简单源码;迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。
STL iterator相关代码
C#, Python, Delphi都已将Iterator的特性内建语言当中,完美的跟语言整合,我们称之隐式迭代器(implicit iterator),但像是C++语言本身就没有Iterator的特色,但STL仍利用template实作了功能强大的it
逆序reverse_iterator打印 /* 编写一段程序,用普通迭代器顺序打印一个vector,再用逆序reverse_iterator打印一个它 */