std::map<id,std::map<id2,std::map<id3,std::map>>>怎么用
时间: 2023-11-22 18:47:39 浏览: 72
lazy_map
std::map<id,std::map<id2,std::map<id3,std::map>>>是一个嵌套的map容器,可以用于存储多层级的数据。使用时需要注意以下几点:
1. 需要先定义好每一层的key和value类型,例如:
```c++
using umap_int = std::unordered_map<int, int>;
using umap_int2 = std::unordered_map<int, umap_int>;
using umap_int3 = std::unordered_map<int, umap_int2>;
using umap_int4 = std::unordered_map<int, umap_int3>;
```
2. 插入元素时,需要按照从外到内的顺序插入,例如:
```c++
umap_int4 m;
m[1][2][3][4] = 10;
```
上述代码将在m中插入一个四层嵌套的map,其中第一层的key为1,第二层的key为2,以此类推,最内层的value为10。
3. 访问元素时,也需要按照从外到内的顺序访问,例如:
```c++
int value = m[1][2][3][4];
```
上述代码将访问m中第一层key为1,第二层key为2,第三层key为3,第四层key为4的元素,并将其值赋给value。
阅读全文