0

假设您有与此类似的代码:

#define maxX 80
#define maxZ 80

//Sector class
class Sect{
    ...
}

Sect sects[maxX][maxZ];

这会创建一个合理的二维 Sect 数组吗?

4

2 回答 2

4

它会创建一个二维类数组Sect,是的。我不确定您所说的“合理”是什么意思,所以我无法对此发表评论。

但请考虑:

  • std::arraystd::vector
  • 常量而不是宏
于 2012-12-29T16:52:25.327 回答
2

是的。

这个说法

Sect sects[maxX][maxZ];

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

于 2012-12-29T16:52:59.073 回答