如何在c ++中跨不同的地图共享密钥?

时间:2015-04-10 04:17:59

标签: c++ dictionary nested-map

我在地图上工作,我将数据存储到两个具有相同键的不同地图(它是嵌套地图),是他们以任何方式将这些数据存储到单个DS而不是两个不同的嵌套地图中。 以下是我的两个嵌套地图:

std::map<KeyStruct, std::map<ClassObjSharedPtr, std::set<ClassObjSharedPtr> > > map1;

std::map<KeyStruct, std::map<ClassObjSharedPtr, std::set<ClassObjSharedPtr> > > map2;

此处map1和map2具有相同的键值。

我为特定目的保留了两张不同的地图。我们可以在单个DS中存储这两张地图吗?这样每个键(即每个键都有两个内部映射)。

1 个答案:

答案 0 :(得分:2)

为什么不将一个std::map与所有必需的数据一起使用?

示例代码

struct Data
{
    std::map<ClassObjSharedPtr, std::set<ClassObjSharedPtr> > mData1;
    std::map<ClassObjSharedPtr, std::set<ClassObjSharedPtr> > mData2;
};

std::map<KeyStruct, Data> mMapData;