繁体   English   中英

指向类对象的向量的多维数组c ++

[英]multidimensional array of vectors pointing to class objects c++

我不太确定发生了什么,因为我对C ++比较陌生

我已经在主循环上方全局定义了以下内容

vector<Character*> monsters[2][3][6];
vector<Item*> loot[2][3][6];
vector<NPC*> npc[2][3][6];
vector<Objects*> objects[2][3][6];

在我的Character.h文件中,我还定义了objects数组

extern vector<Objects*> objects[2][3][6];

在创建对象数组之前,一切工作正常。
看来,如果我向Monsters数组添加8个以上的对象,则奇怪的值开始出现在对象中,并且对象的大小增加。
我的代码一团糟,我不确定我应该在此处包括什么。 我希望这足以让您对我的想法有所了解。

我尚未对此进行彻底的测试,因此很可能会在我的所有阵列中发生...

看来,monsters数组不够大,因此“溢出”并将对象放置在数组之外,从而最终在另一个数组内。

不便之处,敬请见谅。 我希望这可以帮助别人。

最终,您想编写自己的小型Grid类以满足您的需要,或者使用Boost.MultiArray处理此类情况。 从长远来看,使用嵌套的原始数组会导致混乱。 也许您还想避免存储指针和按值存储对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM