vector迭代器的使用
迭代器介绍:
迭代器是一种检查容器内元素并遍历元素的数据类型。c++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只有少数容器(如vector)支持下标操作访问容器元素。
vector迭代器使用示例:
#include<iostream>
#include<vector>using namespace std;int main()
{vector<int> ivec(5,1);/*iteretor感觉就像一个指针指针类型根据每一个容器有所不同iter接受所有指针操作的方法采用begin,end的赋值方法,可以避免容器为空产生的问题*/int i=1;for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++;){*iter=i++;}//常量迭代器,不能更改指向的值for(vector<int>::const_iterator iter=ivec.begin();iter!=ivec.end();iter++;){cout<<*iter<<endl;}cout<<ivec[2]<<endl;cout<<*(++iter1)<<endl;return 0;
}
注意:
- iterator类似于指针,因此使用的时候是按照*iterator的格式,而不能采用下标的形式
vector迭代器的使用相关推荐
- C++vector迭代器失效的问题
转载:http://blog.csdn.net/olanmomo/article/details/38420907 转载:http://blog.csdn.net/stpeace/article/de ...
- C++学习笔记(STL篇)string vector迭代器 stack queue
字符串基本操作 初始化string对象的方式: string s1 默认初始化,s1是一个空串 string s2(s1) s2是s1的副本 string s2 = s1 等价于s2(s1),s2是s ...
- STL中容器vector迭代器失效的相关问题
迭代器失效,有两个层面的意思: 无法通过迭代器++,–操作遍历整个stl容器.记作: 第一层失效. 无法通过迭代器存取迭代器所指向的内存. 记作: 第二层失效. vector是个连续内存存储的容器,如 ...
- C++ vector迭代器的用法 学习笔记
STL标准模板库提供三种类型的组件:容器,迭代器和算法,他们都支持泛型程序设计标准: 容器主要分为两大类:顺序容器和关联容器.顺序容器有:(vector, list, deque和string等)是一 ...
- C++知识点18——使用C++标准库(vector的增长与迭代器失效)
描述vector容器对象大小的方法有以下几个 1.size():返回vector容器对象中实际的元素个数 2.empty():当size()返回0时,该函数返回true,否则返回false,判断容器对 ...
- map和vector的迭代器失效问题(某公司招聘笔试试题)
当删除一个STL容器(比如map, vector)中的某个元素时, 会引起迭代器失效, 所以, 我们务必提高警惕. 某次笔试, 我遇到这样一个题目: 删除map<int, int>中val ...
- vector容器与iterator迭代器
vector容器 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库负责管理存储元素的相关内存.我们把vector称为容器,是因为它可以包含其他对象 ...
- C++知识点20——使用C++标准库(再谈string——string的大小、容量、交换与迭代器失效)
1.string的大小与容量 size_t size() const; bool empty() const; void resize (size_t n); void resize (size_t ...
- c++STL之vector简易使用
使用vector需要包含头文件vector 构造函数 C++vectors 可以使用以下任意一种参数方式构造: 语法 vector(); vector(size_type num, const TYP ...
- Vector容器与Iterator迭加器
文章出处:http://www.cppblog.com/totti1006/archive/2009/09/01/94955.html vector容器 vector 是同一种类型的对象的集合,每个对 ...
最新文章
- js绑定事件和解绑事件
- 正值实系数多项式函数所对应的导数累加和是否非负?
- 【LeetCode】3月29日打卡-Day14-BFS
- java 不能用 random,关于Java中Random的一些使用细节
- 牛客国庆集训派对Day3: I. Metropolis(dijkstra)
- docker 进入停止的容器_在Docker中运行一个Ubuntu镜像
- python实现科学计算器_python实现简易版计算器
- Angr安装与使用之使用篇(十五)
- 人工智能深度学习Caffe框架介绍
- 多通道ECG心率监测系统
- thinkphp框架复习知识点
- Broken Pipe
- 华为商店的软件可以鸿蒙,鸿蒙到底想要什么?是维护渠道的霸权还是万物互联?...
- React基础(壹)———脚手架项目初始化
- 一分钟看懂深度学习中的准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP
- DXF读写:对齐尺寸标注文字居中、上方的位置计算
- vue怎么把api 挂载到全局_深入理解Vue官方文档梳理之全局API
- 解决 android studio 中 The emulator process for AVD was killed 的细节
- uni app 视频播放功能
- (简单有效)小米设备怎么样不ROOT激活Xposed框架
热门文章
- 设计并搭建Python容器化项目的CI/CD流水线
- 生产者消费者之爸爸妈妈儿子女儿苹果橘子编程实现
- Flink kafka source sink 源码解析
- Flink 如何支持特征工程、在线学习、在线预测等 AI 场景?
- 最大后验估计_状态估计的基本概念(3)最小均方估计和最小均方误差估计
- java 不安全操作_Java新手求助:怎么会出现使用了未经检查或不安全的操作。
- 去重 list_List 去除重复数据的 5 种正确姿势!
- python爬取数据库数据类型_python中从搭建Mysql平台到爬取数据一站式全部完成
- golang,break跳出循环的例子以及随机数生成
- python-图书管理系统5-全部代码