是否可以从类中创建多维数组?

Is it possible to create multidimensional-arrays from classes?

本文关键字:数组 创建 是否      更新时间:2023-10-16

假设您有类似于下面的代码:

#define maxX 80
#define maxZ 80
//Sector class
class Sect{
    ...
}
Sect sects[maxX][maxZ];

这会创建一个可信的二维教派数组吗?

它将创建一个二维的Sect类数组,是的。我不确定你说的"貌似有理"是什么意思,所以我不能对此发表评论。

但考虑:

  • std::arraystd::vector
  • 常量代替宏

可以。

这句话

Sect sects[maxX][maxZ];

创建一个包含Sect的二维数组,总大小(Sect元素的数目)为maxX * maxZ。元素的有效索引将从sects[0][0]sects[maxX-1][maxZ-1]。尝试访问索引超出这些范围的数据是无效的,并将导致未定义的行为。