c++中map遍历_怎么遍历map集合

c++中map遍历_怎么遍历map集合C++结构化绑定声明在map容器遍历上的应用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、iterator(迭代器)

#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (auto it = m.begin(); it != m.end(); ++it) { 
   
	//key
	std::cout << it->first << std::endl;
	//value 
	std::cout << it->second << std::endl;
}

2、range for(范围for语句),c++ ver >= 11

#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (const auto &value : m) { 
   
	//value 
	std::cout << value << std::endl;
}

3、structured binding declaration && range for(结构化绑定声明 && 范围for语句) ,c++ver >= 17

#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (const auto &[key, value] : m) { 
   
	//key
	std::cout << key << std::endl;
	//value 
	std::cout << value << std::endl;
}

1、只取key

#include <map>
#include <iostream>
#include <functional>
//...
std::map<int, string> m;
//...
using namespace std::placeholder;
for (const auto &[key, _1] : m) { 
   
	//key
	std::cout << key << std::endl;
}

2、只取value

#include <map>
#include <iostream>
#include <functional>
//...
std::map<int, string> m;
//...
using namespace std::placeholder;
for (const auto &[_1, value] : m) { 
   
	//value 
	std::cout << value << std::endl;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193246.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 亚信安全发布2021年挖矿病毒专题报告,聚焦挖矿病毒进化与治理

    亚信安全发布2021年挖矿病毒专题报告,聚焦挖矿病毒进化与治理供稿|亚信安全出品|CSDN云计算近日,《亚信安全2021年挖矿病毒专题报告》正式发布(以下简称《报告》)。《报告》以2021年亚信安全威胁情报与服务运营部门所监测、分析和处置的挖矿病毒事件为基础,对各类挖矿病毒和攻击进行分析梳理与情况总结,并且深度探究未来可能会演化的方向,以此帮助更多用户,以更安全、更高效、更全面的行动做出安全规划,为挖矿病毒治理提供了参考路径。2021年挖矿病毒大事件全面回顾2021全年,亚信安全共拦截挖矿病毒516,443次。《报告》基于此整体梳.

    2022年5月20日
    55
  • pycharm py文件运行后停止按钮变成了灰色[通俗易懂]

    pycharm py文件运行后停止按钮变成了灰色[通俗易懂]这两天被这个问题折磨得要死,把pycharm卸载了还是没解决,后来终于在一篇博客中看见,然后终于解决了问题界面如下:1.每次运行后都会跳出一个pythonconsole,并且前面还会显示一大堆奇怪信息:importsys;print(‘Python%son%s’%(sys.version,sys.platform))sys.path.extend2.右上角…

    2022年8月26日
    5
  • @helper的使用

    @helper的使用、前言最近翻到一篇Scott的旧文,觉得挺不错的,就试着翻译了一下,文章主要是说如何在Razor中使用@helper语法定义可复用的视图模板方法。如有疏漏,还请请各位看官指点一二~原文地址:http:

    2022年7月3日
    29
  • pycharm学生版更新license「建议收藏」

    pycharm学生版更新license「建议收藏」pycharm的学生license一年过期,需要更新license.看网上的po出的经验较少,即使有也有错误,前几天成功更新了,分享一下经验。1.首先登陆jetbrainshttps://www.jetbrains.com/zh-cn/2.使用学校邮箱登陆后查看license因为是前几天更新的所以这个截图是已经更新过的,如果是一年期license过期的话(就是validthrough日期已过),大概是红圈这个位置有一个绿色的“renew…”(具体内容不记得了)。3.点开后输入学校邮箱这时候

    2022年8月28日
    2
  • gentoo penguin_vintec

    gentoo penguin_vintechttp://wiki.gentoo.org/wiki/Fvwm

    2022年10月3日
    0
  • JAVA常见数据结构

    JAVA常见数据结构常见的的数据结构数据存储的常⽤结构有:栈、队列、数组、链表和红⿊树。栈栈:stack,⼜称堆栈,它是运算受限的线性表,其限制是仅允许在标的⼀端进⾏插⼊和删除操作,不允许在其他任何位置进⾏添加、查找、删除等操作。简单的说:采⽤该结构的集合,对元素的存取有如下的特点1.先进后出(即,存进去的元素,要在后它后⾯的元素依次取出后,才能取出该元素)。例如,⼦弹压进弹夹,先压进去的⼦弹在下⾯,后压进去的⼦弹在上⾯,当开枪时,先弹出上⾯的⼦弹,然后才能弹出下⾯的⼦弹。2.栈的⼊⼝、出⼝的都是栈的顶端位置。

    2022年7月7日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号