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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux命令之groupadd_linux umask命令

    linux命令之groupadd_linux umask命令usermod[选项]登录名usermod修改用户基本信息。(1).常用选项(2).实例修改用户UID修改登录shell修改主目录并转移主目录内容,-m-d选项修改说明信息(注释信

    2022年8月5日
    5
  • 2021-2027年中国视频监控设备行业市场需求预测与投资战略规划分析报告[通俗易懂]

    2021-2027年中国视频监控设备行业市场需求预测与投资战略规划分析报告[通俗易懂]【报告类型】产业研究【报告价格】4500起【出版时间】即时更新(交付时间约3个工作日)【发布机构】智研瞻产业研究院【报告格式】PDF版本报告介绍了中国视频监控设备行业市场行业相关概述、中国视频监控设备行业市场行业运行环境、分析了中国视频监控设备行业市场行业的现状、中国视频监控设备市场行业竞争格局、对中国视频监控设备行业市场行业做了重点企业经营状况分析及中国视频监控设备行业市场行业发展前景与投资预测。您若想对中国视频监控设备行业市场行业有个系统的了解或者想投资中国视频监控设备行业市场…

    2022年5月28日
    33
  • Java守护线程「建议收藏」

    Java守护线程「建议收藏」1、什么是守护线程Java线程分两种:用户线程和守护线程。守护线程,是指在程序运行的时,后台提供一种通用服务的线程。比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没有本质的区别,不同之处在于虚拟机的离开;若用户线程已全部退出运行,只剩守护线程存在,虚拟机也即退出。因没有了被守护者,守护线程也就无工作可做,也

    2022年10月15日
    2
  • sysbench简单使用

    sysbench简单使用

    2021年5月15日
    145
  • 模型融合stacking实战

    模型融合stacking的原理具体不再解释,有的博客已经解释很清楚了,还是附一张经典图吧,直接上完整程序(根据后面的数据集下载地址可以下载数据集,然后直接运行程序):#Loadinourlibrariesimportpandasaspdimportnumpyasnpimportreimportxgboostasxgbimportwarningswa…

    2022年4月9日
    75
  • Vue组件通信_android组件间通信

    Vue组件通信_android组件间通信Vue组件通信

    2025年8月23日
    3

发表回复

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

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