STL之迭代器
| STL Container | Type of Iterators Supported | |
| vector | random access iterators | 元素严格有序(类似数组) |
| deque | random access iterators | |
| list | bidirectional iterators | 仅能通过某个 元素找到其直 接前驱和直接 后继(类似链 表) |
| set | bidirectional iterators | |
| multiset | bidirectional iterators | |
| map | bidirectional iterators | |
| multimap | bidirectional iterators | |
| stack | no iterator support | |
| queue | no iterator support | |
| priority_queue | no iterator support |
| 类别 | 运算符 | 描述 |
| All iterators | ++p | Preincrementan iterator. 前置自增 |
| p++ | Postincrementan iterator. 后置自增 | |
| Input iterators | *p | Dereference an iterator (used as rvalue).迭代器解引用(仅做右值) |
| p1 == p2 | Evaluates true if p1 and p2 point to the same element. | |
| p1 != p2 | Evaluates true if p1 and p2 point to different elements. | |
| Output iterators | *p | Dereference an iterator (used as lvalue).迭代器解引用(仅做左值) |
| Bidirectionliterators | --p | Predecrementan iterator. 前置自减 |
| p-- | Postdecrementan iterator. 后置自减 | |
| Random-access iterators | p += i | Increment iterator p by ipositions. |
| p -= i | Decrement iterator p by i positions. | |
| p + i | Returns an iterator ith position after p. | |
| p - i | Returns an iterator ithposition before p. | |
| p1 < p2 | Returns true if p1 is before p2. | |
| p1 <= p2 | Returns true if p1 is before or equal to p2. | |
| p1 > p2 | Returns true if p1 is after p2. | |
| p1 >= p2 | Returns true if p1 is after p2 or equal to p2. | |
| p[i] | Returns the element at the position p offset by i. |
STL之迭代器的更多相关文章
- STL的迭代器和类型萃取
今天就可以把STL库中迭代器的实现,和类型萃取好好整理一下了 迭代器的设计思维是STL的关键所在,在STL的实际运用和泛型思维,迭代器都扮演着十分重要的角色,STL力求把数据容器和算法的概念分开来,于 ...
- 带你深入理解STL之迭代器和Traits技法
在开始讲迭代器之前,先列举几个例子,由浅入深的来理解一下为什么要设计迭代器. //对于int类的求和函数 int sum(int *a , int n) { int sum = 0 ; for (in ...
- C++ 标准模板库(STL)——迭代器(iterators)的用法及理解
C++ STL中迭代器(iterators)用于遍历对象集合的元素.由于容器大小随着插入删除等操作动态改变,无法像静态数组那样获取数组长度然后遍历容器里的所有元素:这时就需要迭代器,每次从容器内第一个 ...
- STL之迭代器(iterator)
STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再用一帖粘着剂将它们撮合在一起.没错,这个粘着剂正是迭代器(iterator).迭代器的主要目的是通过遍历来对容器中元素进行相关操作.算法 ...
- C++STL之迭代器2
在学习c++ STL的时候,整天碰到迭代器,也整天用,但是,到底它是个什么东西,很多人没有一个认识.这里我通过几个小的DEMO,来看看迭代器.首先我实现了一个十分简陋的vector类: templat ...
- C++STL之迭代器
迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值.例如, ...
- STL容器迭代器失效分析
连续内存序列容器(vector, string, deque) 对于连续内存序列STL容器,例如vector,string,deque,删除当前iterator会使得后面所有的iterator都失效, ...
- C++ STL中迭代器失效的问题
my_container.erase(iter); 其中my_container是STL的某种容器,iter是指向这个容器中某个元素的迭代器.如果不是在for,while循环中,这种方式删除元素没有问 ...
- ###STL学习--迭代器
点击查看Evernote原文. #@author: gr #@date: 2014-08-23 #@email: forgerui@gmail.com STL中的迭代器. ###stl学习 |--迭代 ...
随机推荐
- Rehat 5.8下oracle11g安装
Oracle 11g Redhat 5安装 一.检查硬件是否满足要求 检查一内存 On Linux x86: At least 1 GB of RAM 内存至少1G To determine the ...
- VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)
转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html Visual Studio 2008 Windows Fo ...
- [codevs5578][咸鱼]tarjan/结论题
5578 咸鱼 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description 在广袤的正方形土地上有n条水平的河流和m条垂直的河流,发达的咸鱼家族在m*n个河流交叉点都 ...
- TypeError: validator.settings[("on" + event.type)].call is not a function
昨天遇到此错误信息,下面是调试后正确的代码: $("#inputForm").validate({//inputForm是对应的表单的id onkeyup:false, onfoc ...
- C++ Namespace 详解
命名空间的定义格式为:(取自C++标准文档) named-namespace-definition: namespace identifier { namespace-body } unnamed-n ...
- openldap安装配置
http://www.jslink.org/linux/openldap-ssl-sssd.html http://www.unix-power.net/centos7/openldap.html h ...
- [python 2.7.5] 实现配置文件的读写
import ConfigParser config = ConfigParser.RawConfigParser() # When adding sections or items, add the ...
- 基本的Web控件一
ASP.NET提供了与HTML元素相对应的基本Web控件,ASP.NET提供的基本的Web控件如下: 基本的Web控件 对应的HTML元素 Label ----------------- ...
- 在centos下安装django
这里有一个不错的Django的学习资料.先收藏一下,以备后用.谢谢 http://www.ziqiangxuetang.com/django/django-install.html 在centos下安 ...
- ping通网关 ping不能外网 DNS无法解析
###ping通网关 ping不能外网 DNS无法解析 客户上不了网 DNS解析不了 首先登陆机器 先查看IP 然后看dns是否正常 然后测试ping网关 ping外网 nslookup ...