如何在c++中跨不同的映射共享密钥

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

本文关键字:映射 共享 密钥 c++      更新时间:2023-10-16

我正在处理映射,我将数据存储到具有相同键的两个不同的映射(它是嵌套映射)中,他们是否可以将这些数据存储到单个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;