c++迭代器
来源:互联网 发布:程序员常用编辑器 编辑:程序博客网 时间:2024/06/03 18:22
转:http://zhanghu-hs.blog.sohu.com/129119232.html
vector<int>::const_itertor; //容器是常量
const vector<int>::itertor; // 迭代器是常量
const_vector类型只能用于读取容器内元素,但不能改变其值。当我们对const_iterator类型解引用时,得到一个指向const对象的引用,该对象不能进行重写。使用const_iterator类型时可以得到一个迭代器,它自身的值可以改变,但不能用来改变其所指向的元素的值。可以对迭代器进行自增以及使用解引用操作符来读取值,但不能对该元素赋值:
const vector<int> nines(10,9);
// 不可改变nines中元素的值
const vector<int>::iterator cit2=nines.begin();
/* cit2自身是const型的,它指向nines后便不能再指向其它vector,但cit2可以改变其所指向元素的值,而nines为const型迭代器,其元素的值是不可改变的,所以该赋值错误。*/
vector<int>::const_iterator it=nines.begin();
// nines元素的值是不可改变的,因此用const_iterator类型的vector指向其元素是合适的。
*it=10;
// 错误。it自身的值是不可改变的,这样也就保证了nines元素中的值不会改变
++it;
//正确。it可以改变其指向,其最大优点就是该指针的只读性,它保证了其所指向元素的不可修改性。
声明一个const迭代器时必须对其初始化,初始化后再不允许改变它的值(不能再指向其它元素)。
- 迭代器(C#)
- 迭代器(C#)
- C/C++:迭代器的简单二分查找
- 【C++】Chapter16:迭代器模式
- Objective C--迭代器模式
- Objective C 迭代器模式
- C++vector 迭代器iterator
- C++STL之迭代器
- 迭代器分析(c++)
- C++STL 之 迭代器
- [C++] STL迭代器失效
- c++_iterator迭代器
- c++STL的迭代器
- C++STL之迭代器
- C++STL 迭代器
- C++STL之迭代器
- 【c++】迭代器iterator
- 【C++】迭代器的失效
- 读书笔记
- 【VBA】16进制字符串转化为2进制字符串
- 嵌入式编程中关于const,static,extern,volatile的用法
- 从网上读取图片在本地显示
- ADNROID/JAVA/SSH/Oracle+MySQl+SQLServer/jQuery/Ajax等等 优质学习资料免费下砸
- c++迭代器
- 程序人生--2009年(56)
- HTML 学习笔记(五)a:link……visited……hover……active……
- 浅思OC的语言的动态特性
- JavaScript巧解IE6与IE8兼容性问题
- linux的一些资源,pdf,源码光盘
- GRUB2
- 逻辑卷管理器(英语:Logical Volume Manager,缩写为LVM)简介
- sql server 跨实例访问数据库