• C++ map容器


    作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(int、double 等)、使用结构体或类自定义的类型。

    它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。

    与此同时,在使用 map 容器存储多个键值对时,该容器会自动根据各键值对的键的大小,按照既定的规则进行排序。默认情况下,map 容器选用std::less排序规则(其中 T 表示键的数据类型),其会根据键的大小对所有键值对做升序排序。当然,根据实际情况的需要,我们可以手动指定 map 容器的排序规则,既可以选用 STL 标准库中提供的其它排序规则(比如std::greater),也可以自定义排序规则。

    另外需要注意的是,使用 map 容器存储的各个键值对,键的值既不能重复也不能被修改。换句话说,map 容器中存储的各个键值对不仅键的值独一无二,键的类型也会用 const 修饰,这意味着只要键值对被存储到 map 容器中,其键的值将不能再做任何修改。

    pair<const K, T>
    1. template < class Key, // 指定键(key)的类型
    2. class T, // 指定值(value)的类型
    3. class Compare = less, // 指定排序规则
    4. class Alloc = allocatorconst Key,T> > // 指定分配器对象的类型
    5. > class map;

    map 容器模板有 4 个参数,其中后 2 个参数都设有默认值。大多数场景中,我们只需要设定前 2 个参数的值,有些场景可能会用到第 3 个参数,但最后一个参数几乎不会用到。

    MAP容器详细内容参见:C++ STL map容器详解 (biancheng.net)

  • 相关阅读:
    JSON 与 Java 对象之间的转化
    http和https分别是什么?
    MySQL的常用函数
    纯前端如何在网页端播放摄像头的实时画面
    2024计算机二级6
    Docker,安装部署Nginx
    西瓜书-2.5偏差与方差
    访问控制中PIP的典型流程和关键点思考
    [附源码]计算机毕业设计JAVAjsp-酒店疫情防控系统
    python3-算法刷题-数组-滑动窗口-更新中
  • 原文地址:https://blog.csdn.net/MWooooo/article/details/126710916