0

これに似たコードがあるとします:

#define maxX 80
#define maxZ 80

//Sector class
class Sect{
    ...
}

Sect sects[maxX][maxZ];

これにより、妥当な 2 次元の Sect 配列が作成されるでしょうか?

4

2 に答える 2

4

Sectはい、クラスの2次元配列を作成します。「もっともらしい」の意味がわからないので、それについてコメントすることはできません。

ただし、次のことを考慮してください。

  • std::arraystd::vector
  • マクロの代わりに定数
于 2012-12-29T16:52:25.327 に答える
2

はい。

この文

Sect sects[maxX][maxZ];

合計サイズ (Sect 要素の数) の Sect の 2 次元配列を作成しますmaxX * maxZ。要素の有効なインデックスはsects[0][0]sects[maxX-1][maxZ-1]です。これらの範囲外のインデックスを使用してデータにアクセスしようとすると無効になり、未定義の動作が発生します。

于 2012-12-29T16:52:59.073 に答える