c++ map 数组作为key
时间: 2023-07-01 07:21:37 浏览: 693
C++中vector可以作为map的键值实例代码
在C++中,可以使用STL中的map容器实现将数组作为key的功能。具体实现可以参考以下示例代码:
```cpp
#include <iostream>
#include <map>
using namespace std;
const int N = 3;
int main() {
map<int[N], int> arr_map;
int arr1[N] = {1, 2, 3};
int arr2[N] = {4, 5, 6};
// 添加元素
arr_map[arr1] = 10;
arr_map[arr2] = 20;
// 遍历元素
for (auto iter = arr_map.begin(); iter != arr_map.end(); ++iter) {
int *p = iter->first;
for (int i = 0; i < N; ++i) {
cout << p[i] << " ";
}
cout << "value: " << iter->second << endl;
}
return 0;
}
```
在上述代码中,我们定义了一个`int`类型的数组作为key,使用map容器将其作为key,并将int类型的数值作为value。我们可以通过`[]`来添加元素,也可以使用迭代器遍历map并输出元素。
需要注意的是,数组作为key时,数组的地址会被作为key。因此,在遍历元素时,需要使用`int*`类型的指针来访问数组元素。
阅读全文