假设你有类似的代码:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
这会创建一个看似合理的二维Sect数组吗?
答案 0 :(得分:4)
它会创建一个Sect
类的二维数组,是的。我不确定你的意思是什么"似乎是合理的",所以我无法评论。
但请考虑一下:
std::array
和std::vector
答案 1 :(得分:2)
是
本声明
Sect sects[maxX][maxZ];
创建一个Sect的二维数组,其总大小(Sect元素的数量)maxX * maxZ
。元素的有效索引将从sects[0][0]
到sects[maxX-1][maxZ-1]
。尝试使用索引超出这些边界来访问数据是无效的,并且将导致未定义的行为。