如何在 C++ 中的不同地图之间共享密钥?

How to share the key across the different map in c++?

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

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

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

此处map1和map2键值相同

我出于特定目的维护了两张不同的地图。我们可以将两个地图存储在一个 DS 中吗?这样每个键(即每个键都会有两个内部映射)。

为什么不使用一个包含所有必需数据的 std::map

示例代码

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

std::map<KeyStruct, Data> mMapData;