Lazy loaded image
C++ 中的 <map> 容器类
字数 762阅读时长 2 分钟
2025-12-22
2026-1-19
password
comment
type
status
date
slug
summary
tags
category
icon

C++ 中的 <map> 容器类

在 C++ 中,<map> 是标准模板库(STL)的一部分,它提供了一种关联容器,用于存储键值对(key-value pairs)。
map 容器中的元素是按照键的顺序自动排序的,这使得它非常适合需要快速查找和有序数据的场景。

定义和特性

  • 键值对map 存储的是键值对,其中每个键都是唯一的。
  • 排序map 中的元素按照键的顺序自动排序,通常是升序。
  • 唯一性:每个键在 map 中只能出现一次。
  • 双向迭代器map 提供了双向迭代器,可以向前和向后遍历元素。

基本语法

包含头文件:
声明 map 容器:
  • key_type 是键的类型。
  • value_type 是值的类型。
插入元素:
访问元素:
遍历 map:
若使用 C++11 及以上标准,遍历部分可以简化为范围 for 循环,代码更简洁:

实例

下面是一个使用 map 的简单实例,我们将创建一个 map 来存储员工的姓名和他们的年龄,并遍历这个 map 来打印每个员工的姓名和年龄。
输出结果:

进阶用法

检查键是否存在:
删除元素:
清空 map:
获取 map 的大小:
其他方法:
自定义排序,默认升序排序,可以用 std::greater 或自定义比较函数:
使用自定义比较函数:
map 是 C++ STL 中一个非常有用的容器,特别适合需要快速查找和有序数据的场景。
运行结果(自动按 key 排序):
上一篇
C++ 中的模板
下一篇
C++ 中的类与对象

评论
Loading...