c++提供了下边及迭代器两种方式来访问容器里的元素,对于迭代器个人感觉就像是一个用于容器的特殊指针,用书上的话来说就是一种检查容器内元素并遍历元素的数据类型(类),它自身也支持自增自减操作,可以和指针比较着学习;
下面代码求vector容器中各个元素中x,y相乘值的总和
其中fflush(stdin);用于清空输入缓存
#include<iostream>
#include<vector>
using namespace std;
struct Data
{
int x;
int y;
};
int main()
{
vector <Data> obm;
Data obj;
int n,num=0;
cout<<"你要输入几组数据"<<endl;
cin>>n;
fflush(stdin);
while(n!=0)
{
cout<<"输入数据对"<<endl;
cin>>obj.x>>obj.y;
obm.push_back(obj);
n--;
}
vector<Data>::iterator iter=obm.begin();
while(iter!=obm.end())
{
num+=(*iter).x*(*iter).y;
iter++;
}
cout<<"输出为:"<<num<<endl;
system("pause");
return 0;
}