学习C++ 1
来源:互联网 发布:淘宝网美都袋鼠皮相 编辑:程序博客网 时间:2024/05/21 04:26
3.迭代器简介
除了使用下标来访问vector对象的元素外,标准库还提供了访问元素的方法:使用迭代器。迭代器是一种检查容器内元素并且遍历元素的数据类型。
1.容器的iterator类型
每种容器类型都定义了自己的迭代器类型,如vector:
vector<int> ::iterator iter;变量名为iter。
2.begin和end操作
每种容器都定义了一队命名为begin和end的函数,用于返回迭代器。如果容器中有元素的话,由begin返回的元素指向第一个元素。
vector<int>::iterator iter=v.begin();
若v不为空,iter指向v[0]。
由end返回的迭代器指向最后一个元素的下一个,不存在,若v为空,begin和end返回的相同。
*iter=0;
iter++即将迭代器向前移动一个位置
即将v[0]赋值为0,由end返回的不允许进行解操作。
==和!=操作符来比较两个迭代器,若两个迭代器指向同一个元素,则它们相等,否则不想等。
迭代器使用举例:
for(vector<int>::iterator iter=v.begin();iter!=v.end();iter++)
*iter=0;
将vector中的元素全部赋值为0;
#include <iostream>
#include <vector>
using namespace std;
double vectorSum(vector<double>::iterator begin, vector <double>::iterator end)//vector 迭代器可以
{
double sum=0.0;
while(begin!=end)
{
sum=sum+(*begin++);
}
return sum;
}
int main()
{
vector <double> dvec;
double dval;
while(cin>>dval)
dvec.push_back(dval);
cout<<vectorSum(dvec.begin(),dvec.end());
return 0;
}
- 【c/c++】学习笔记1
- C学习笔记1
- C 学习笔记1
- OBject-C学习1
- object-c学习1
- c语言学习1
- C语言学习1
- Objective-C学习1
- Objective-C学习1
- C语言-学习---1
- Obejective-c学习1
- C 语言学习 1
- C语言学习1
- c++thread学习(1)
- C--学习笔记1
- android 1C 学习
- C语言学习1
- 一起学习C,C++__boost--序(1)
- java基础(六)-----浅谈java中“==”和“equals”的区别
- Android禁止屏幕旋转和重启Activity
- 4种编程语言基本数据类型及其取值范围整理(C++,Java,Python,Go)
- boost::thread简介和gdb调试线程
- Android-Fragments的使用
- 学习C++ 1
- UVA - 12260 Free Goodies
- Linux命令:tar
- 同步化,同步,异步化,异步操作的区别
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
- C函数中,可变长参数的传递?
- stm32 串口发送数据第一字节丢失
- 数字图像处理之几何运算
- Linux命令:git