C++中map容器常见用法(AI)

ops/2025/2/28 14:22:06/

在 C++ 中,map 是一个关联容器,它存储的是键值对(key-value pairs),其中每个键(key)是唯一的,并且按照键的顺序进行排序(默认使用 std::less 比较函数)。以下是 map 容器的一些常见用法:

  1. 包含头文件
    要使用 map 容器,需要包含 <map> 头文件。

    #include <map>
    
  2. 定义 map 对象
    可以定义一个 map 对象,指定键和值的类型。例如,定义一个 map,键为 int 类型,值为 std::string 类型:

    std::map<int, std::string> myMap;
    
  3. 插入元素
    可以使用 insert 方法或 operator[] 来插入元素。

    // 使用 insert 方法插入元素
    myMap.insert(std::make_pair(1, "one"));
    myMap.insert({2, "two"});// 使用 operator[] 插入元素
    myMap[3] = "three";
    
  4. 访问元素
    可以使用 operator[] 或 find 方法来访问元素。

    // 使用 operator[] 访问元素
    std::string value1 = myMap[1];// 使用 find 方法访问元素
    auto it = myMap.find(2);
    if (it != myMap.end()) {std::string value2 = it->second;
    }
    
  5. 删除元素
    可以使用 erase 方法删除元素。

    // 删除键为 2 的元素
    myMap.erase(2);
    
  6. 遍历 map
    可以使用迭代器来遍历 map 中的所有元素。

    for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl;
    }
    
  7. 获取 map 的大小
    可以使用 size 方法获取 map 中元素的数量。

    size_t mapSize = myMap.size();
    
  8. 检查 map 是否为空
    可以使用 empty 方法检查 map 是否为空。

    bool isEmpty = myMap.empty();
    
  9. 自定义比较函数
    可以自定义比较函数来改变 map 的排序方式。例如,定义一个 map,键为 int 类型,值为 std::string 类型,按照键的降序排列:

    struct Compare {bool operator()(int a, int b) const {return a > b;}
    };std::map<int, std::string, Compare> myMap2;
    

以上是 C++ 中 map 容器的一些常见用法,map 容器在实际编程中非常有用,特别是在需要根据键快速查找值的场景中。


http://www.ppmy.cn/ops/161986.html

相关文章

《深度剖析:特征工程—机器学习的隐秘基石》

在机器学习的宏大版图中&#xff0c;特征工程宛如一座隐藏在幕后却又至关重要的基石。它默默发挥着作用&#xff0c;将原始数据雕琢成模型能够有效学习和理解的形态&#xff0c;深刻影响着机器学习模型的性能与表现。 特征工程&#xff1a;机器学习的关键前奏 特征工程是运用…

飞书工单审批对接腾讯电子签:开启合同流程自动化新时代

飞书工单审批对接腾讯电子签&#xff1a;开启合同流程自动化新时代 在当今竞争激烈的商业环境中&#xff0c;企业对于高效、便捷、安全的合同管理流程的需求日益增长。为了满足这一需求&#xff0c;雏森科技使用中间件,将飞书合同工单审批与腾讯电子签成功对接&#xff0c;实现…

C++知识整理day10——多态(多态的定义和实现、虚函数重写/覆盖、override和final关键字、纯虚函数和抽象类、多态的原理)

文章目录 1.多态的概念2.多态的定义和实现2.1 多态的构成条件2.2 多态必须具备的两个条件&#xff08;很重要&#xff09;2.3 虚函数2.4 虚函数的重写/覆盖2.5 协议&#xff08;了解即可&#xff09;2.6 析构函数的重写2.6 override和final关键字2.7 重载/重写/隐藏的对比 3.纯…

selenium如何实现,开启浏览器的开发者工具模式

&#x1f680; 核心配置方案 pythonCopy Code # 通用导入方式&#xff08;适配Selenium 5.x&#xff09; from selenium import webdriver from selenium.webdriver.common.service import Service# --------------------------- # &#x1f5a5;️ Chrome/Edge 配置方案 # --…

【DeepSeek系列】05 DeepSeek核心算法改进点总结

文章目录 一、DeepSeek概要二、4个重要改进点2.1 多头潜在注意力2.2 混合专家模型MoE2.3 多Token预测3.4 GRPO强化学习策略 三、2个重要思考3.1 大规模强化学习3.2 蒸馏方法&#xff1a;小模型也可以很强大 一、DeepSeek概要 2024年&#xff5e;2025年初&#xff0c;DeepSeek …

2004-2024年光刻机系统及性能研究领域国内外发展历史、差距、研究难点热点、进展突破及下一个十年研究热点方向2025.2.27

一.光刻机概述 1.1 定义与原理 光刻机是 集成电路芯片制造的核心设备 ,其工作原理基于 光学成像和化学反应 。它通过 曝光系统 将掩模版上的图形精确地转移到涂覆于硅片表面的光刻胶上。这个过程涉及复杂的物理和化学反应,主要包括以下几个步骤: 涂胶 :在硅片表面均匀涂抹…

排序算法学习笔记

1. 排序的定义 排序&#xff08;Sorting&#xff09;是将一组数据按照一定的顺序排列的过程。排序的顺序可以是升序或降序。 2. 排序算法的分类 排序算法可以分为内部排序和外部排序&#xff1a; 内部排序&#xff1a;数据在内存中进行排序。外部排序&#xff1a;数据量大于…

playwright 自动化登录验证码,测试Iframe

还记得之前的文章吗&#xff0c;我们之前有说过&#xff0c;实现自动登录&#xff0c;详细分析了Playwright实战中登录状态问题。下面聚焦到storageState从原理到实战实现登录状态管理&#xff0c;从而一劳永逸解决验证码问题。 简介&#xff1a;在自动化测试中&#xff0c;频…