首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector<int>iterator itr,这条语句是作什么用的,请帮助分析上这条语句

2012-08-27 
vectorint::iterator itr,这条语句是作什么用的,请帮助分析下这条语句#includeiostream#includevecto

vector<int>::iterator itr,这条语句是作什么用的,请帮助分析下这条语句
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a[6]={0,1,2,3,4,5};
vector<int> vec(a,a+6);
vec.push_back(6000);
vec.insert(vec.begin(),7000);
vector<int>::iterator itr; //这条语句是作什么用的,请帮助分析下这条语句
itr=vec.begin();
itr++;
vec.erase(itr);
vector<int>::size_type(i);
for(i=0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}
return 0;
}





[解决办法]
声明了一个迭代器
[解决办法]
你听说过STL里面有一个叫迭代器的家伙吗?你问的那条语句就是定义了个迭代器。这个迭代器主要处理vector<int>类型的。
[解决办法]
就是一个迭代器,用来访问vector的!虽然也可以用下标来访问,但是很不方便的!
[解决办法]
vector<int>::iterator 是vector容器的迭代器, 就是用来遍历或者指向容器里面的元素的

C/C++ code
#include "stdafx.h"#include <vector>using namespace std;int _tmain(int argc, _TCHAR* argv[]){    vector<int> vec;    vec.clear();    for (int i = 0; i < 5; i++)        vec.push_back(i);        // 使用迭代器来遍历容器中的内容    for (vector<int>::iterator anIter = vec.begin(); anIter != vec.end(); ++anIter)    {        cout<< *anIter<<endl;    }    getchar();    return 0;}
[解决办法]
有一个变量 itr

它的类型是 vector<int>::iterator

[解决办法]
vector<int>::iterator vector 是一个模板类 iterator 是vector 类中的一个类。。你可以看看vector的源码 

[解决办法]
你可以把它理解成容器的指针,不过还是有区别,
[解决办法]
你可以把它理解成容器的指针,不过还是有区别,iterator 是vector的内联类型,
如:struct A
{
typedef int IN;
}

那A::IN就是int

热点排行