插入和读取值从3D地图
Inserting and Reading Values from 3D Map
首先我看了之前问的所有与这个问题相关的问题,但是没有能够解决我的问题。我有一个3D地图,
map<int,map<const char*, const char*>> map3D;
map<const char*, const char*> submap;
现在我像这样插入值,int值的最大值是5
,但是对于每个int值,submap有50 key and value
。
我像这样插入值
submap.insert(std::pair<const char*,const char*>(TempA, TempB));
map3D.insert(pair<int,map<const char*,const char*>>(count,submap));
count值将在Temp1和TempB值超过50个值后增加。现在我想读回它的值,为此我正在这样做,就像在这个问题中提到的,如何循环通过一个c++映射的映射?
std::map<int,map<const char*,const char*>>::iterator out_it;
for(out_it =map3D.begin();out_it != map3D.end();++out_it)
{
for(std::map<const char*, const char*>::const_iterator in_it=out_it->second.begin();in_it != out_it->second.end(); ++in_it)
std::cout << in_it->first << " => " << in_it->second <<endl;
}
因为int值只有5,所以它只显示TempA和TempB的5个值。如果只在submap中迭代,则显示所有值
for(std::map<const char*, const char*>::const_iterator in_it=submap.begin();in_it != submap.end(); ++in_it)
std::cout << in_it->first << " => " << in_it->second <<endl;
谁能指导我如何读取所有的值。由于
一切正常。因为每次代码都插入相同的子映射:
submap.insert(std::pair<const char*,const char*>(TempA, TempB));
map3D.insert(pair<int,map<const char*,const char*>>(count,submap));
如果你需要包含所有值的子地图,那么你需要先填充你的子地图,然后插入到map3D或使用指针指向子地图。
map<int,map<const char*, const char*>*> map3D;
map<const char*, const char*>* submap = new map<const char*, const char*>();
...
submap->insert(std::pair<const char*,const char*>(TempA, TempB));
map3D.insert(pair<int,map<const char*,const char*>*>(count,submap));
否则,当你想插入到map3D中时,你需要每次都创建子地图。
map<const char*, const char*> submap;
submap.insert(std::pair<const char*,const char*>(TempA, TempB));
map3D.insert(pair<int,map<const char*,const char*>>(count,submap));
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 无法将结构注册为增强几何体3D点
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- OpenGL大的3D纹理(>2GB)非常慢
- 是什么导致了Unity 3D中的"错误线程异常"?
- 替换基于地图的所有引用
- 如何区分地图中的 0 和 false?
- 地图计数确实很重要,或者只是检查是否存在
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- 如何从地图中删除矢量对象
- 是否有任何C++功能可以对地图进行排序?
- 如何使用 std::variant 打印地图键/值?
- 有没有办法从点云和深度数据构建和存储3D地图
- 开放世界 3D 环境的最佳地图格式
- 除非同时构造,否则无法在 3D 地图中分配值
- 我应该使用地图、3D 数组还是坚持使用堆栈
- 如何从给定的3D地图值获得所有的键
- 插入和读取值从3D地图
- 在3D地图中插入值