学习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;
}

0 0
原创粉丝点击