std的find和reverse_iterator联合使用
上代码:
// test2013.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include<iostream>
#include<vector>
#include<map>
#include<string>
using namespace std; struct CmpByKeyNumber {
bool operator()(const int& k1, const int& k2) {
return k1 < k2; //升序排列
}
}; int _tmain(int argc, _TCHAR* argv[])
{
std::map<int, string, CmpByKeyNumber> arr; arr.insert(make_pair(, "dd"));
arr.insert(make_pair(, "bbbbb"));
arr.insert(make_pair(, "aaaaaaaaaaa")); std::map<int, string>::iterator itTemp = arr.find();
if (itTemp == arr.end())
{
return -;
} /*
这里转为反向迭代器。
注意,正向迭代器转为反向迭代器后,反向迭代器指向的是正向迭代器的前一个元素。
所以,这里用了++:先++,itTemp指向下一个元素(即是arr.end() ),
通过这样的方式,反向迭代器和正向迭代器指向的都是同一个pair。
*/
std::map<int, string>::reverse_iterator it(++itTemp);
for (; it != arr.rend(); it++)
{
int key = it->first;
string dd = it->second;
printf("pair( %d, %s )\n", key, dd.c_str());
} printf("\ndone\n");
getchar();
return ;
}
运行效果:

完。
std的find和reverse_iterator联合使用的更多相关文章
- 【转】cocos2d-x 2.0版本 自适应屏幕分辨率
http://codingnow.cn/cocos2d-x/975.html 我使用的版本是cocos2d-2.0-x-2.0.4,cocos2dx-2.0版本对多分辨率适配提供了很好的支持,使用起来 ...
- 矩阵的特征值和特征向量的雅克比算法C/C++实现
矩阵的特征值和特征向量是线性代数以及矩阵论中很重要的一个概念.在遥感领域也是经经常使用到.比方多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量. 依据普通线性代 ...
- P5108 仰望半月的夜空 SAM+线段树覆盖
$ \color{#0066ff}{ 题目描述 }$ 半月的夜空中,寄托了多少人与人之间的思念啊 曦月知道,这些思念会汇集成一个字符串\(S(n = |S|)\) 由于思念汇集的过于复杂,因此曦月希望 ...
- EOS 智能合约 plublic key 转换
在做一个EOS 的action接口时,定义如下: void setbplist(const account_name bp_name, const uint64_t bp_time, const ...
- c++interview
出自:https://github.com/huihut/interview Github | Docsify 简体中文 | English 关于 本仓库是面向 C/C++ 技 ...
- 【NX二次开发】NX内部函数,libuifw.dll文件中的内部函数
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void U ...
- std::reverse_iterator::base
google chromium base MRU_Cache 支持反向erase iterator Erase(iterator pos) { deletor_(pos->second); ...
- C++ std::set
std::set template < class T, // set::key_type/value_type class Compare = less<T>, // set::k ...
- C++ std::map
std::map template < class Key, // map::key_type class T, // map::mapped_type class Compare = less ...
随机推荐
- 2、JavaScript常用互动方法
一.输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出" ...
- iOS的三种多线程技术NSThread/NSOperation/GCD
1.iOS的三种多线程技术 1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程) 2.以下两点是苹果专门开发的"并发"技术,使得程序员可以不再去关心 ...
- 在HTML中调用iOS
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MS SQL 多连接数时修改数据库名称
在MS SQL中,如果你想修改某一个数据库的名称,你可以通过下面几种方法实现. 方法一:使用SP_RENAMEDB系统存储过程实现. 语法: sp_renamedb [ @dbname = ] 'ol ...
- Inventory Pro 装备拾取的实现
以后都按照插件使用,提出问题,回答问题的方式来进行总结和学习 效果图 1.运行相关的例子,场景中出现4个矩形,这4个矩形是用来模拟物品掉落的包裹,移动Player靠近物品 2.使用鼠标点击物品正方体, ...
- PostgreSQL中initdb做了什么
在使用数据库前,是启动数据库,启动数据库前是initdb(初始化数据库):一起来看一下initdb做了什么吧. 初始化数据库的操作为: ./initdb -D /usr/local/pgsql/dat ...
- Lintcode: Route Between Two Nodes in Graph
Given a directed graph, design an algorithm to find out whether there is a route between two nodes. ...
- Codeforce Round #228 Div2
这次的A题没注意要到100- -, B题没做,后来做要注意下1和long long C题当时坑的一B,用了个蠢办法,后来还错了,现在改了,还是蠢办法,等等再去用dp吧,而且本来就只有01用个鸡巴的树状 ...
- git的基本使用
1.在本地新建一个文件夹来存放代码 2.用命令行进入这个文件夹 3.git init --来创建一个代码仓库 3. 配置用户信息:用户名和 邮箱(联系作者本人沟通, 责任到人) git config ...
- [原创]java WEB学习笔记71:Struts2 学习之路-- struts2常见的内建验证程序及注意点,短路验证,非字段验证,错误消息的重用
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...