例如,我正在制作Pacman
游戏,并使用struct
数组来表示幽灵。
但是有什么方法可以将ghost[0]
表达式更改为Inky
吗?
答案 0 :(得分:2)
似乎您正在寻找关联数组。关联数组是可以用类似关联的东西访问的数组。例如,如果要访问水果数组并获取苹果,则可以执行:fruits["apple"]
并获取值,而不用怀疑苹果是哪个索引。
如果这是您真正想要的,那么在C ++中将其称为地图。该映射与关联数组相同。看看如何使用它。
答案 1 :(得分:2)
您可以定义对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;