容器vector和迭代器iterator+使用
2011-10-12 16:42
330 查看
容器vector声明方式 vector<类型>:: 变量名(参数)
使用前需要引用#incude <vector>
初始化方式有下面几种
1 声明初始化例如: vector<int> vct;默认构造函数为空
vector<int> vct1(vct) 用已声明好容器来初始化
vector<int> vct2(3,5) 大小为3的容器初始化三个都等于5
vector<int> vct3(5) 大小为3,初始值都为0
2 vector是顺序容器,可以通过下标操作符读取,但是前提必须是容器内已存在这个下标的元素,不然会出错。
为了方便遍历容易,每种容器都有自己迭代器
迭代器概念:用来遍历容器内元素,并且可以访问元素的值一种类型。
声明一个整形容器的迭代器 vector<int> ::itrator itr;
遍历容器内元素
for(itr=vct.begin();i!=vct.end();itr++) /*这里注意 vct.end()是容器内最后一个元素的下一个元素,是一个不存在的元素,如果vector为空则end和begin返回的迭代器相同
cout<<*itr; ///这里的*是解引用操作符 end不可以使用*和自增减操作符
迭代器还有一种是const_itrator,它的作用只能访问容器内元素,而不能改变元素
注意:const vector<int>::itrator 并不等于 vector<int>::const_itrator
前者只能访问固定元素,不可以进行*itr++ 等操作。
使用前需要引用#incude <vector>
初始化方式有下面几种
1 声明初始化例如: vector<int> vct;默认构造函数为空
vector<int> vct1(vct) 用已声明好容器来初始化
vector<int> vct2(3,5) 大小为3的容器初始化三个都等于5
vector<int> vct3(5) 大小为3,初始值都为0
2 vector是顺序容器,可以通过下标操作符读取,但是前提必须是容器内已存在这个下标的元素,不然会出错。
为了方便遍历容易,每种容器都有自己迭代器
迭代器概念:用来遍历容器内元素,并且可以访问元素的值一种类型。
声明一个整形容器的迭代器 vector<int> ::itrator itr;
遍历容器内元素
for(itr=vct.begin();i!=vct.end();itr++) /*这里注意 vct.end()是容器内最后一个元素的下一个元素,是一个不存在的元素,如果vector为空则end和begin返回的迭代器相同
cout<<*itr; ///这里的*是解引用操作符 end不可以使用*和自增减操作符
迭代器还有一种是const_itrator,它的作用只能访问容器内元素,而不能改变元素
注意:const vector<int>::itrator 并不等于 vector<int>::const_itrator
前者只能访问固定元素,不可以进行*itr++ 等操作。
相关文章推荐
- 从零开始学C++之STL(三):迭代器类vector::iterator 和 vector::reverse_iterator 的实现、迭代器类型、常用的容器成员
- C++之STL(三):迭代器类vector::iterator 和 vector::reverse_iterator 的实现、迭代器类型、常用的容器成员
- 容器vector和迭代器iterator const_iterator
- 迭代器类vector::iterator 和 vector::reverse_iterator 的实现、迭代器类型、常用的容器成员
- 容器vector和迭代器iterator的学习使用
- C++ Primer学习笔记(3)——神奇的容器vector及其迭代器iterator
- c++中iterator迭代器和vector容器
- c++ 模板参数做容器参数迭代器报错 vector<T>::const_iterator,typename const报错
- vector容器与iterator迭代器
- 用vector向量容器装入10个整数,使用迭代器iterator和accumulate算法统计这10个元素的和
- 容器vector list queue 迭代器iterator
- 标准库容器 vector 和 迭代器 iterator 的简单介绍
- 从零开始学C++之STL(三):迭代器类vector::iterator 和 vector::reverse_iterator 的实现、迭代器类型、常用的容器成员
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
- C++杂谈(二)初识vector容器与迭代器
- Java模拟容器的迭代器(Iterator模式)
- map等关联容器 vector等序列容器 如何防止迭代器失效
- vector容器的iterator
- vector容器与iterator容器相结合的程序分析题
- Java容器Collection与迭代器Iterator