map<int,map<int,int>>与map<map<int,int>,int>的区别
时间: 2023-12-31 17:06:57 浏览: 126
c++中vectorlt;intgt;和vectorlt;int*gt;的用法区别
map<int,map<int,int>>是一个以int为key,值为另一个map<int,int>的map,可以像下面这样访问其中的元素:
```cpp
map<int,map<int,int>> myMap;
myMap[1][2] = 3; // 给第二个map中的第三个元素赋值为3
```
map<map<int,int>,int>是一个以map<int,int>为key,int为值的map,可以像下面这样访问其中的元素:
```cpp
map<map<int,int>,int> myMap;
map<int,int> innerMap = {{1,2},{3,4}};
myMap[innerMap] = 5; // 给第一个map中以innerMap为key的元素赋值为5
```
两者的区别在于key的类型不同,一个是int,一个是map<int,int>。使用的场景也有所不同,例如当我们需要对二维数组进行快速访问时,可以使用map<int,map<int,int>>,而当我们需要对多个变量作为一个整体进行快速访问时,可以使用map<map<int,int>,int>。
阅读全文