div style="font-size:1px;opacity:0.01;line-height:1px;"> 趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官 海印网

C++ Map怎么用?C++ map容器的插入与遍历方法【实例讲解】

admin 百科 20
C++ map核心是声明、插入、遍历;底层红黑树,按键自动排序且键唯一;声明需指定key/value类型,如map m;插入有[]、insert()、emplace()三种主要方式;遍历常用范围for、迭代器、C++17结构化绑定。

C++ Map怎么用?C++ map容器的插入与遍历方法【实例讲解】-第1张图片-佛山资讯网

用 C++ 的 map,核心就三点:声明、插入、遍历。它底层是红黑树,自动按键排序,键唯一,适合需要有序且快速查找的场景。

怎么声明和初始化 map

map 是模板容器,必须指定键(key)和值(value)类型,比如 map<string int></string> 表示“字符串为键,整数为值”。常用写法:

  • map<string int> m;</string> —— 空 map
  • map<int string> m = {{1,"a"}, {2,"b"}};</int> —— C++11 起支持列表初始化
  • map<int double> m({{10, 3.14}, {20, 2.71}});</int> —— 构造时传 initializer_list

四种常用插入方式(带区别说明)

插入不只一种写法,不同场景选不同方法:

  • m[key] = value; —— 最常用。若 key 不存在,自动构造默认值(如 int 为 0),再赋值;存在则覆盖。适合简单赋值,但注意会触发默认构造。
  • m.insert({key, value}); —— 插入一个 pair。若 key 已存在,插入失败,返回 pair<iterator bool></iterator>,其中 secondfalse,不覆盖原值。
  • m.insert(make_pair(key, value)); —— 和上一条等价,C++11 前常用。
  • m.emplace(key, value); —— 原地构造,避免临时对象,效率略高,推荐用于复杂 value 类型。

三种主流遍历方法(按需选用)

遍历本质是访问每个 pair<const key t></const>,键不可改,值可改:

标签: ai c++ 区别

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~

趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官
趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官
div style="font-size:1px;opacity:0.01;line-height:1px;"> 趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官 海印网