常量迭代器

和指针一样,你可以给一个迭代器赋值。例如,首先申明一个迭代器:

vector<int>::iterator first;

该语句创建了一个vector<int>类的迭代器。下面的语句将该迭代器设置到intVector的第一个对象,并将它指向的对象值设置为123::

first = intVector.begin();
*first = 123;

这种赋值对于大多数容器类都是允许的,除了只读变量。

#include <algorithm>   // Need copy()
#include <vector>      // Need vector

using namespace std;
vector<int> intVector(100);

int _tmain(int argc, _TCHAR* argv[])
{

    vector<int>::iterator intIter;// define the iterator intIter// a vector<int>-type iterator- intIter was created
   intIter = intVector.begin();
   *intIter =123;
    vector<int>::iterator ref = find(intVector.begin(), intVector.end(), 123);
     cout<<*ref<<endl;
  return 0;
}
时间: 2024-11-14 06:14:13

常量迭代器的相关文章

C++STL之迭代器

迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值.例如,一个数组索引,也可以认为是一种迭代器. 迭代器有各种不同的创建方法.程序可能把迭代器作为一个变量创建.一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器.作为指针,必须能够使用*操作符类获取数据.你还可以使用其他数学操作符如++.典型的,++操作符用来递增迭代器,以访问容器中的下一个对象

C++ Primer 阅读笔记:迭代器和容器 小结

原创 by zoe.zhang  0.写在前面的话 我是在2011年学的C++,但是那一年恰好是C++11新标准的一年,但是大学上学的C++还是基于C++98的风格的,使用的编译器也是VC6.0,啊,插一句话,虽然VC6现在看起来有些简陋,而且也不支持C++新标准,但是因为它的轻便,以及有些年代感的编码界面,我自己感觉它就像是一柄钝剑,加上是我接触的第一个编译器,因此对它还是怀有敬意的.当然,现在用的VS2013,编程友好,功能强大,也是非常棒的了.它是支持C++11标准的.C++11相对C++

【C++/STL】list的实现(采用空间配置器和迭代器)

在list库函数的编译中仍然有很多问题,在源代码的编译中有些内容尚未搞懂,在后期的学习中会进行更加深入的学习,希望大家可以对我的问题提出建议和批评,谢谢大家~ 具体的代码如下: #include <iostream> using namespace std; //采用迭代器和空间配置器所实现的双向链表的基本功能 template<class _Ty,class _A = allocator<_Ty> > //定义模板类 class list //list类 { publ

STL六大组件之——迭代器这个东西

迭代器:除了在其它语言中司空见惯的下标法访问容器元素之外,C++语言提供了一种全新的方法——迭代器(iterator)来访问容器的元素.迭代器其实类似于引用,指向容器中某一元素.换个方式来说,容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素.容器相当于一个储藏柜,里面装的许多不同的物品就像是储存的元素,比如面包.啤酒.苹果.现金.要取得各个物体就得用与各个物体向匹配的工具,如取出面包要用盘子.取出啤酒要用杯子.取出苹果要用篮子.取出现金要用钱包.迭代器的作用就相当于取出物品的工具的抽象

初识迭代器 Iterator

一:初识迭代器(Iterator类) 简写为 iter (1)由来,我们知道string类 vector类的对象,可以通过下标运算来访问元素:还有另外一种更通用的机制 -- 迭代器.不管你是用到 vector 还是list 或 map类你总离不开迭代器的. (2)所有标准库容器都可以使用迭代器,但是其中只有几种容器才同时支持下标运算符.(string不属于容器类型,但是基本操作与容器类似) (3)类似于指针类型,迭代器也提供了对对象的间接访问:iter可以访问某个元素,从一个元素移动到另一个元素

迭代器精彩演绎,失效分期及弥补、实战

一.迭代器简介 迭代器是一种遍历容器内元素的数据类型.这种数据类型感觉有点像指针. string,vector,[],很少用[],更通用的方式就是用迭代器. 通过迭代器,我们可以读容器中的元素值,读string中的每个字符,还可以修改某个迭代器所指向的元素值. 迭代器支持++,--自增,自减操作,相关list/map容器 二.容器的迭代器类型 vector<int> iv(100,200,300); vector<int>::iterator iter; // 定义迭代器,也必须是

顺序容器(迭代器)--C++复习(9)

一.像使用指针可以遍历数组一样,我们可以使用迭代器来遍历容器: 二.迭代器常用运算: 1.*ite返回迭代器所指向的元素的引用(ite是一个迭代器): 2.ite->mem:获取迭代器中指定元素名为mem的成员,等价于(*item).mem: 3.++ite/ite++:给ite加1,指向下一个元素:同-- 4.ite1==ite2,比较两个迭代器是否相等,即是否是指向同一个容器的同一个元素 三.vector和deque提供的额外运算 1.ite+/-n:返回指向后/前n个元素的迭代器 2.it

C++STL容器和迭代器

1.简介 容器(container)用于存放数据的类模板.可变长数组.链表.平衡二叉树等数据结构在 STL 中都被实现为容器.程序员使用容器时,就是将容器类模板实例化为容器类,需要指明容器中存放的元素是什么类型的. 容器中可以存放基本类型的变量,也可以存放对象.对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品. 1.1 容器分类 容器分为2类:顺序容器和关联容器 顺序容器:可变长动态数组 vector.双端队列 deque.双向链表 list.之所以被称为顺序容器,是因为元

C++温习-标准库-set

set,就是集合,其满足唯一性, C++中的标准库set是一个类模板, template < class T, // set::key_type/value_type class Compare = less<T>, // set::key_compare/value_compare class Alloc = allocator<T> // set::allocator_type > class set; 正常使用需要提供类别参数如 set<string>