C++之map的介绍

news/2025/2/22 10:04:30/

C++之map的介绍

1。定义和初始化
map可以使用一对<key, value>来初始化,如下所示:

std::map<int, std::string> my_map = { {1, "one"}, {2, "two"}, {3, "three"} };

这将创建一个map,其中键是整数,值是字符串。
2. 插入元素

可以使用insert成员函数向map中插入元素。例如:

my_map.insert(std::pair<int, std::string>(4, "four"));

或者使用初始化列表:

my_map.insert({4, "four"});

还可以使用operator[]或at成员函数来插入元素,但这会在键不存在时自动插入默认值。例如:

my_map[5] = "five";  // 插入新元素,键为5,值为"five"  
my_map[6] = "six";    // 插入新元素,键为6,值为"six"

3.访问元素
可以使用operator[]或at成员函数来访问map中的元素。例如:

std::cout << my_map[1];  // 输出"one"  
std::cout << my_map[2];  // 输出"two"

注意:如果使用operator[]访问不存在的键,它会自动在map中插入一个新元素,键为所访问的键,值为默认值。如果使用at函数访问不存在的键,它将抛出std::out_of_range异常。
4. 删除元素

可以使用erase成员函数删除map中的元素。例如:

my_map.erase(2);  // 删除键为2的元素

还可以使用clear成员函数清除所有元素:

my_map.clear();

5.查找元素
可以使用find成员函数来查找map中的元素。例如:

auto it = my_map.find(3); // it指向键为3的元素

if (it != my_map.end()) {   // 如果找到了元素,it指向该元素,否则it指向end()位置  std::cout << it->first << ": " << it->second << std::endl;  // 输出"3: three"  
} else {  //没找到
}

http://www.ppmy.cn/news/1209114.html

相关文章

Go采集代理框架

代理服务器在网络爬虫、数据采集和反爬虫等场景中起着重要的作用。通过使用代理服务器&#xff0c;我们可以隐藏客户端的真实IP地址并提高访问速度。Go语言作为一种强大且可靠的编程语言&#xff0c;提供了很多库和工具来实现代理采集框架。在本文中&#xff0c;我们将介绍如何…

【全网首发】【Python】Python控制parrot ARDrone 2.0无人机

&#x1f389;欢迎来到Python专栏~Python控制parrot ARDrone 2.0无人机 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误…

【SA8295P 源码分析 (一)】119 - QNX 中如何在代码中快速配置 TLMM_GPIO 或 PMIC_GPIO 中断 及 中断回调函数

【SA8295P 源码分析】119 - QNX 中如何在代码中快速配置 TLMM_GPIO 或 PMIC_GPIO 中断 及 中断回调函数 一、配置 TLMM GPIO15 中断示例代码二、配置 PMIC2 GPIO1 中断示例代码三、easy_irq 实现源码分析3.1 struct _easy_irq_ctx 结构体内容分析3.2 register_easy_irq_callbac…

2023.11.10联测总结

T 1 T1 T1求的是有多少个区间的异或和是 k k k的因子&#xff0c; n , k ≤ 1 0 5 n,k \leq 10^5 n,k≤105。 这道题用前缀和维护一下&#xff0c;暴力枚举所有区间就有 80 80 80分。 有一瞬间想过枚举因数&#xff0c;但是脑抽以为要 O ( n ) \mathcal O(n) O(n)枚举&#x…

leetcode:LCP 11. 期望个数统计(python3解法)

难度&#xff1a;简单 某互联网公司一年一度的春招开始了&#xff0c;一共有 n 名面试者入选。每名面试者都会提交一份简历&#xff0c;公司会根据提供的简历资料产生一个预估的能力值&#xff0c;数值越大代表越有可能通过面试。 小 A 和小 B 负责审核面试者&#xff0c;他们均…

【FastCAE源码阅读7】视图方向切换按钮实现原理

在FastCAE工具栏上有视图切换按钮&#xff0c;如下图所示&#xff1a; 本文介绍如何实现。 FastCAE集成了Python解析器&#xff0c;当单击按钮时&#xff0c;中间用Python执行的&#xff0c;最后调用MainWindow.dll库接口实现的。 具体的Python代码在Python模块的py文件夹下的…

游戏缺失d3dx9_39.dll的5个修复方法,深度解析d3dx9_39.dll文件的作用

在当今的数字化时代&#xff0c;电子游戏已经成为了人们休闲娱乐的重要方式之一。然而&#xff0c;对于许多玩家来说&#xff0c;他们在享受游戏带来的乐趣的同时&#xff0c;也可能会遇到各种各样的问题&#xff0c;其中最常见的就是游戏无法正常运行。而这些问题中&#xff0…

使用Navicat导出ER图详细教程

文章目录 打开Navicat&#xff0c;点击模型点击新建模型选择物理模型点击文件&#xff0c;选择从数据库导入选择要导入的数据库点击文件&#xff0c;选择导出的格式成品 打开Navicat&#xff0c;点击模型 点击新建模型 选择物理模型 点击文件&#xff0c;选择从数据库导入 选择…