在 C++ 中,map
是一个关联容器,它存储的是键值对(key-value pairs),其中每个键(key)是唯一的,并且按照键的顺序进行排序(默认使用 std::less
比较函数)。以下是 map
容器的一些常见用法:
-
包含头文件:
要使用map
容器,需要包含<map>
头文件。#include <map>
-
定义
map
对象:
可以定义一个map
对象,指定键和值的类型。例如,定义一个map
,键为int
类型,值为std::string
类型:std::map<int, std::string> myMap;
-
插入元素:
可以使用insert
方法或operator[]
来插入元素。// 使用 insert 方法插入元素 myMap.insert(std::make_pair(1, "one")); myMap.insert({2, "two"});// 使用 operator[] 插入元素 myMap[3] = "three";
-
访问元素:
可以使用operator[]
或find
方法来访问元素。// 使用 operator[] 访问元素 std::string value1 = myMap[1];// 使用 find 方法访问元素 auto it = myMap.find(2); if (it != myMap.end()) {std::string value2 = it->second; }
-
删除元素:
可以使用erase
方法删除元素。// 删除键为 2 的元素 myMap.erase(2);
-
遍历
map
:
可以使用迭代器来遍历map
中的所有元素。for (const auto& pair : myMap) {std::cout << pair.first << ": " << pair.second << std::endl; }
-
获取
map
的大小:
可以使用size
方法获取map
中元素的数量。size_t mapSize = myMap.size();
-
检查
map
是否为空:
可以使用empty
方法检查map
是否为空。bool isEmpty = myMap.empty();
-
自定义比较函数:
可以自定义比较函数来改变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
容器在实际编程中非常有用,特别是在需要根据键快速查找值的场景中。