これに似たコードがあるとします:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
これにより、妥当な 2 次元の Sect 配列が作成されるでしょうか?
これに似たコードがあるとします:
#define maxX 80
#define maxZ 80
//Sector class
class Sect{
...
}
Sect sects[maxX][maxZ];
これにより、妥当な 2 次元の Sect 配列が作成されるでしょうか?
Sect
はい、クラスの2次元配列を作成します。「もっともらしい」の意味がわからないので、それについてコメントすることはできません。
ただし、次のことを考慮してください。
std::array
とstd::vector
はい。
この文
Sect sects[maxX][maxZ];
合計サイズ (Sect 要素の数) の Sect の 2 次元配列を作成しますmaxX * maxZ
。要素の有効なインデックスはsects[0][0]
~sects[maxX-1][maxZ-1]
です。これらの範囲外のインデックスを使用してデータにアクセスしようとすると無効になり、未定義の動作が発生します。