c++, map用法
时间: 2024-09-07 12:03:50 浏览: 45
C++中的map是一个关联容器,它存储的元素是键值对,每个键唯一地映射到一个值。在map中的元素总是根据键值排序的,这意味着你可以快速检索与特定键相关联的值。map通常在需要根据键快速查找数据的应用中使用。
map的基本用法包括:
1. 包含的头文件:使用map之前需要包含<map>头文件。
```cpp
#include <map>
```
2. map的定义和初始化:
```cpp
std::map<KeyType, ValueType> myMap; // 默认初始化,map是空的
std::map<KeyType, ValueType> myMap(initializer_list); // 使用初始化列表初始化
std::map<KeyType, ValueType> myMap(n); // 创建有n个元素的map,默认值填充
```
3. 插入元素:
```cpp
myMap[key] = value; // 插入新的键值对
myMap.insert(std::pair<const KeyType, ValueType>(key, value)); // 也是插入键值对的一种方式
```
4. 访问元素:
```cpp
// 访问特定键对应的值,如果键不存在,则使用默认值初始化
ValueType value = myMap[key];
// 或者使用find方法来检查键是否存在
auto it = myMap.find(key);
if (it != myMap.end()) {
ValueType value = it->second; // 安全地访问值
} else {
// 键不存在的处理
}
```
5. 遍历map:
```cpp
for(auto& pair : myMap) {
KeyType key = pair.first;
ValueType value = pair.second;
// 处理键值对
}
```
6. 删除元素:
```cpp
myMap.erase(key); // 删除键为key的元素
myMap.erase(it); // 删除迭代器it指向的元素
```
阅读全文