例如,我正在制作一个Pacman游戏,并且我使用一个struct数组来表示鬼魂。
但是,有没有办法将ghost[0]表达式更改为Inky呢?
发布于 2019-11-29 21:58:01
看起来你在寻找关联数组。关联数组是一个可以通过像关联这样的东西来访问的数组。例如,如果您想要访问您的水果数组并获取苹果,您可以这样做:fruits["apple"]并获取值,而不是想知道苹果是哪个索引。
如果这就是您真正要找的,那么在C++中它被称为地图。映射与关联数组相同。看看如何使用它。
发布于 2019-11-29 23:15:44
您可以定义对struct数组中任何项的引用。
示例:
Ghost &inky = ghosts[0];
Ghost &blinky = ghosts[1];
Ghost &pinky = ghosts[2];
Ghost &clyde = ghosts[3];为了遵守C++约定,我建议所有这些引用都使用以小写开头的名称定义。
然后,您可以将所有这些引用用作普通变量,使用.调用成员的函数或读取或分配成员的变量。
示例:
inky.setBackColor(blue);
inky.remove();
clyde.size += 2;https://stackoverflow.com/questions/59105904
复制相似问题