gpt4 book ai didi

c++ - 在单个变量中检索不同的 Qmap

转载 作者:行者123 更新时间:2023-11-30 01:46:30 26 4
gpt4 key购买 nike

我正在用 Qt 开发一款游戏。我的角色/对象存储在我的模型类中(我尝试遵循 MVC 模型)。

我为每个对象创建了一个 QMap :

QMap<int, Safe*> *safes;
QMap<int, Mushroom*> *mushroom;
QMap<int, Floor*> *floors;

但是我想在我的 Controller 中检索所有这些 QMap 并将它从 Controller 发送到我的 View 的 paintEvent() 类。有没有办法像这样将 QMap 存储在 QList 中:

QList<QMap<int, void*>>

然后施法呢?我正在寻找一种从单个对象访问这些 QMap 的方法。

感谢您的帮助!

最佳答案

您可以使用结构将它们捆绑在一个对象中:

struct Maps
{
QMap<int, Safe*> *safes;
QMap<int, Mushroom*> *mushroom;
QMap<int, Floor*> *floors;
};

虽然拥有指向 QMap 的指针是有效的,但如果您不需要持有指向它的指针,那么我建议不要这样做。

struct Maps
{
QMap<int, Safe*> safes;
QMap<int, Mushroom*> mushroom;
QMap<int, Floor*> floors;
};

这样您就不必担心堆分配/取消分配。

如果你有一个支持 C++11 的编译器,那么你可以使用 std::tuple将项目组合在一起。

std::tuple<QMap, QMap, QMap> maps (safes, mushroom, floors);

关于c++ - 在单个变量中检索不同的 Qmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33143596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com