словарь — Как поделиться ключом на другой карте в 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? Так что каждый ключ (то есть каждый ключ будет иметь две внутренние карты).

1

Решение

Почему бы не использовать один std::map со всеми необходимыми данными?

Пример кода

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

std::map<KeyStruct, Data> mMapData;
2

Другие решения


По вопросам рекламы [email protected]