在3D地图中插入值
Inserting Values in 3D Map in C++
我是一个新的地图在c++和有一个3D地图,像这样
map<int,map<const char*,const char*>>Map3D;
我想以这样一种方式插入值,当两个const char*值都大于50时,int值增加。我在跟踪const char* value。谁能告诉我如何在这张地图中插入值。我正在做这样的事情
Map3D.insert(pair<int,map<const char* ,const char*>(count,pair<const char*,const char*>(TempA,TempB)));
但是它不工作。
编辑
std::map<int,map<const char*,const char*>>::iterator it= Map3D.begin();
std::map<const char*, const char*>::iterator sub_it = subMap.begin();
你有一个缺失的>
,你不能递归地插入std::pair
到内部映射,你必须创建一个新的映射或使用现有的
map<int,map<const char*,const char*>> Map3D;
map<const char*,const char*> subMap;
const char hello[] = "hello";
const char world[] = "world";
subMap.insert(std::pair<const char*,const char*>(hello, world));
Map3D.insert(std::pair<int,map<const char*,const char*>>(22, subMap));
编辑:回读元素看看http://www.cplusplus.com/reference/map/map/operator[]/
map<const char*,const char*> subMapCopy = Map3D[22];
cout << subMapCopy[hello]; // world
Edit II: with iterators: http://www.cplusplus.com/reference/map/map/begin/
std::map<int,map<const char*,const char*>>::iterator it= Map3D.begin();
std::map<const char*, const char*>::iterator sub_it = subMap.begin();
cout << it->second[sub_it->first]; // world
相关文章:
- 将一对插入地图并增加计数?
- 当我将其插入无序地图时,矢量的容量为 0
- 为什么不插入地图?
- 为什么emplace_hint比插入地图慢?
- 无法将智能指针插入地图
- 如何将元组插入地图?
- 在C++中访问和插入地图的地图(嵌套地图)
- 通过EMPLEPE()将对象指针插入地图中
- 将mpfr_t对象插入地图中的值
- 有效地将值插入地图.更好地增加或减少键
- C :将向量插入地图
- C - 插入地图或向量时的分割故障
- 当我尝试将一对插入地图时,Qt程序seg出错
- C++ 将字符串插入地图时出现编译错误
- 将unique_ptr插入地图,指针被销毁
- 为什么我在插入地图时遇到 seg 错误
- 插入地图时出现分割错误
- 当我插入地图时,会出现Valgrind错误
- 将项目插入地图,其中还有 2 张地图
- 如何将数据插入地图<字符串,设置<string>> C++?