假设您有类似于下面的代码:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
这会创建一个可信的二维教派数组吗?
它将创建一个二维的Sect
类数组,是的。我不确定你说的"貌似有理"是什么意思,所以我不能对此发表评论。
但考虑:
-
std::array
和std::vector
- 常量代替宏
可以。
这句话
Sect sects[maxX][maxZ];
创建一个包含Sect的二维数组,总大小(Sect元素的数目)为maxX * maxZ
。元素的有效索引将从sects[0][0]
到sects[maxX-1][maxZ-1]
。尝试访问索引超出这些范围的数据是无效的,并将导致未定义的行为。