C++ 另一种方法,在地图中存储两个键?

C++ 另一种方法,在地图中存储两个键?,c++,map,C++,Map,目前我正在尝试开发玩家的库存系统。 我将项目存储在两张地图中。 第一个映射存储指向该项的指针,作为密钥使用顺序短游戏客户端在数据包中使用它,它的库存项枚举器 std::map<short, Item*> item_container; 第二个映射具有相同的功能,但它在库存X轴和Y轴上存储项目位置,这是执行项目冲突安全检查所需的。 它还存储为 std::map<short, Item*> item_container2; 键由X轴*100+Y轴计算。 项目类还包含项目X

目前我正在尝试开发玩家的库存系统。 我将项目存储在两张地图中。 第一个映射存储指向该项的指针,作为密钥使用顺序短游戏客户端在数据包中使用它,它的库存项枚举器

std::map<short, Item*> item_container;
第二个映射具有相同的功能,但它在库存X轴和Y轴上存储项目位置,这是执行项目冲突安全检查所需的。 它还存储为

std::map<short, Item*> item_container2;
键由X轴*100+Y轴计算。 项目类还包含项目X轴、项目Y轴和项目序列/枚举器/顺序。 我想问,如何将其简化为一张地图,因为使用2有点不安全。
谢谢

你只想要一张地图,这很清楚。您希望通过id查找哪些值?位置?任何其他财产??这应该是关键。我不理解问题的其余部分。X和Y已经是项的属性了吗?如果是这样,我看不出有必要使用第二个映射。嘿,我还想迭代X和Y,以便在客户端使用hack时检测库存中的项目冲突。@user3126089所以这两个容器中的键是不同的?因为我有点糊涂了。@prajmus是的,第一个集装箱仓库订单的项目1,2,3…,sacond仓库在库存X*100+Y位置。