【发布时间】:2012-12-14 13:32:16
【问题描述】:
假设您的代码与此类似:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
这会创建一个合理的二维 Sect 数组吗?
【问题讨论】:
标签: c++ arrays class multidimensional-array
假设您的代码与此类似:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
这会创建一个合理的二维 Sect 数组吗?
【问题讨论】:
标签: c++ arrays class multidimensional-array
它会创建一个Sect 类的二维数组,是的。我不确定您所说的“似是而非”是什么意思,所以我无法对此发表评论。
但是考虑一下:
std::array 和 std::vector
【讨论】:
std::array,你能告诉我如何在代码中使用它吗?
是的。
此声明
Sect sects[maxX][maxZ];
创建一个 Sect 的二维数组,总大小(Sect 元素的数量)maxX * maxZ。元素的有效索引将从sects[0][0] 到sects[maxX-1][maxZ-1]。尝试使用超出这些范围的索引访问数据是无效的,并且会导致未定义的行为。
【讨论】: