问题:

曾经想遍历一个set遍历。当时是这样写的:

set<int>::iterator b = a.begin()+1

后来发现程序报错。究其原因是,set迭代器不支持加减数操作

查看了一下维基百科,下面是有关说明

1.所有迭代器都应该实现自增算符:iter++,++iter

2.Bidirectional迭代器:是在前向迭代器的基础上,多了单步向后遍历的能力。也就是--iter,iter--。

3.Random Access迭代器:在双向迭代器基础上,具有直接访问各数据元素的能力。随机迭代器增加了“迭代器算术运算”:

iter+=i  迭代器递增i位
iter-=i  迭代器递减i位
iter+i  加i位后的迭代器
iter-i  减i位后的迭代器
iter[i]  加i位后的迭代器的解引用
iter<iter1  如果迭代器iter的位置在iter1前,返回true,否则返回false
iter<=iter1  如果iter的位置在iter1的前面或同一位置时返回true,否则返回false
iter>iter1  如果迭代器iter的位置在iter1后,返回true,否则返回false
iter>=iter1  如果iter的位置在iter1的后面或同一位置时返回true,否则返回false

4.在STL定义的容器中,string,vector与deque提供了随机访问迭代器,list、set、multiset、map、multimap提供了双向迭代器。

关于set和map迭代器支持的运算的更多相关文章

  1. 让ecshop模板支持php运算

    让ecshop模板支持php运算在 cls_template.php 底部加入函数: /** * 处理if标签 * * @access public * @param string $tag_args ...

  2. jetty el表达式不支持三元运算

    在jetty跑web程序中不支持三元运算 要换一种格式写 这种代码在jsp页面用jetty跑起来是会报错的,然后调换一下顺序就可以了  或者在后面那个加个括号也可以 

  3. Planning The Expedition(暴力枚举+map迭代器)

    Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...

  4. 给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器

    今天的主角是HashSet,Set是什么东东,当然也是一种java容器了.      现在再看到Hash心底里有没有会心一笑呢,这里不再赘述hash的概念原理等一大堆东西了(不懂得需要先回去看下Has ...

  5. Minimum Sum of Array(map迭代器)

    You are given an array a consisting of n integers a1, ..., an. In one operation, you can choose 2 el ...

  6. Coins and Queries(map迭代器+贪心)

    题意 n个硬币,q次询问.第二行给你n个硬币的面值(保证都是2的次幂!).每次询问组成b块钱,最少需要多少个硬币? Example Input 5 42 4 8 2 4851410 Output 1- ...

  7. vector map迭代器失效解决方案

    vector : iter = container.erase(iter);    //erase的返回值是删除元素下一个元素的迭代器 vector<int>::iterator it = ...

  8. Map迭代器

            今天用到了,发现不会,随手谷歌之,整理如下. //Map是接口,刚才在那new Map,汗颜 Map<Character,Integer> mm = new HashMap ...

  9. 关联容器(map):支持高效查找的容器,一种键值对的集合。

    #include <iostream> #include <string> #include <map> #include <vector> using ...

随机推荐

  1. RocketMQ 顺序消费只消费一次 坑

    rocketMq实现顺序消费的原理 produce在发送消息的时候,把消息发到同一个队列(queue)中,消费者注册消息监听器为MessageListenerOrderly,这样就可以保证消费端只有一 ...

  2. 75.Java异常处理机制-自定义异常

    package testDate; //自定义异常 public class MyException extends Exception{ public MyException(){ } public ...

  3. Nginx配置服务器静态文件支持跨域访问

    在server中配置 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Reque ...

  4. JS3D效果

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  5. shell 多行注释 块注释

    转自 https://www.cnblogs.com/emanlee/p/3749911.html 1 : ' 被注释的多行内容 ' 2 :<<eof 被注释的多行内容 eof 3 :&l ...

  6. ES6知识整理(3)--函数的扩展

    只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 最近上班有点忙的关系,于是文章更新会慢些.只有晚上加完班之后,空余时间才能学习整理.因此完成一篇也可能要几个晚上 ...

  7. oracle 12c多租户下的日常操作变化

    Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误 在oracle中,引入了多租户概念,以前是一个instance对应一 ...

  8. 微信小程序 windos server 2008 iis 7 tls1.0 升级 tls1.2

    执行下面注册表:重启服务器 下载:tls 1.2.reg 1.代码如下 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ ...

  9. 【题解】luogu P3386 【模板】二分图匹配

    题面:https://www.luogu.org/problemnew/show/P3386 好像没有人发Ford-Fulkerson,我来一发, 这道题和P2756飞行员配对方案问题方法一样,网络流 ...

  10. 04: vue生命周期和实例属性和方法

    1.4 组件的生命周期 1.说明 1. Vue将组件看成是一个有生命的个体,跟人一样,定义了各个阶段, 2. 组件的生命周期:组件的创建过程 3. 组件生命周期钩子函数:当组件处在某个阶段,要执行某个 ...