C++学习基础三——迭代器基础
迭代器分为两种:一种是iterator,另一种是const_iterator。
两者都可进行访问容器中的元素,不同之处是:
(1)const_iterator类型只能用于读取容器内的元素,不能更改其值;而iterator可以更改其值。
(2)对const_iterator类型进行解引用时,返回值是一个const值,不允许对其解引用赋值。
另外不要把const_iterator对象与const的iterator对象混淆,其不同之处是:
(1)声明const迭代器时必须初始化,一经初始化后就不能改变它的值,但是可以改变其所指对象的值。
(2)const_iterator对象可以改变其值,但是不允许改变其所指对象的值(因为对其进行解引用时,返回的是const值,不允许对其重新赋值)。
iterator类型迭代器的代码片段如下:
vector<string> vec1;
for(vector<string>::iterator iter = vec1.begin();iter != vec1.end(); iter++)
{cout<<*iter<<endl;*iter = "";//ok
}
const_iterator类型迭代器的代码片段如下:
for(vector<string>::const_iterator iter = vec1.begin();iter != vec1.end(); iter++)
{cout<<*iter<<endl;*iter = "";//error,because return value is const
}
const与const_iterator使用区别的代码片段如下:
vector<string>::const_iterator iter1 = vec1.begin();
*iter1 = "";//error, *iter1 is const
iter1++;//okconst vector<string>::iterator iter2 = vec1.begin();
*iter2 = "";//ok
iter1++;//error,cannot change const value
后续更新中...
转载于:https://www.cnblogs.com/calence/p/5677519.html
C++学习基础三——迭代器基础相关推荐
- invader的java学习第三天基础篇
invader的java学习第三天基础篇 一.整数的取值范围表 类型名称 数据类型 所占空间 表数范围 字节型 byte 1字节 -128-127 短整型 short 2字节 +-3w(-2^15-2 ...
- 大数据HiveSQL学习笔记三-查询基础语法以及常用函数
大数据HiveSQL学习笔记三-查询基础语法以及常用函数 一.基础语法 1.SELECT -列名- FROM -表名- WHERE -筛选条件- 如:需要根据城市,性别找出匹配的10个用户 user_ ...
- Java自我学习第三章基础数据类型
Java的基本数据类型(掌握) 1.整型系列 (1)byte:字节类型 占内存:1个字节 存储范围:-128~127 (2)short:短整型类型 占内存:2个字节 存储范围:-32768~32767 ...
- Java基础学习笔记三 Java基础语法
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...
- Python学习(三)基础
一.函数与模块 定义函数: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用 ...
- c++学习笔记三-常见基础问题
1.windows系统下标准输入的fd是多少? coder: windows下console没有所谓的0,1,2标准输入输出fd这样的概念.windows下的进程创建时默认是没有这些输入输出的,可以在 ...
- Python 基础三:基础数据类型和字符串的常用函数操作
基础数据类型 数字int 数字主要用于计算,有加减乘除等操作,下面介绍一种使用方法 #bit_length(),将十进制数转换成二进制数的二进制数位数 v = 9 data = v.bit_lengt ...
- J2EE学习笔记三:EJB基础概念和知识 收藏
J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...
- 《Go语言圣经》学习笔记 第三章 基础数据类型
<Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...
最新文章
- java人工洗牌窗口程序_求解,用JAVA写洗牌与发牌模拟程序
- cpu安装_CPU是AMD的,老台式电脑可以加装固态硬盘安装Win10系统吗?
- 使用struts2框架来实现CRUD(create、read、update、delete)
- Centos5.5上vsftpd安装使用
- Windows Phone DataBound ListBox中针对UIElement的事件绑定(Button)
- 【原创】A进程窗口嵌入到B进程窗口中显示
- Collection View Programming Guide for iOS---(四)---Using the Flow Layout
- 【资讯干货】2015两会报告中,与互联网有关的41条必收“干货”
- cve-2015-0569 安卓手机提权ROOT漏洞 分析
- elasticsearch virtual memory虚拟内存配置“max virtual memory areas vm.max_map_count [65530] is too low, inc
- ubuntu下载百度网盘文件油猴+aria2
- SharePoint 向多行文本类型字段插入特殊类型链接
- 【OpenKruise v0.9.0】新增 Pod 重启、删除防护等重磅功能
- 数字滤波常用方法(转)
- java调用日期控件_JAVA基础应用:日期时间选择控件(代码)
- 如何使用 Java 调取 Python、R 的训练模型?
- 《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记
- Gulp.js 参考手册,自动化构建利器
- dsm加密linux,DSM 6.2.2最新引导修改版,支持3615xs,已更新下载链接
- iOS蓝牙连接打印机,打印小票