0

5 行と不明な列の行列を作成するように依頼されました。そして、上司は私に 1 次元バッファーを使用するように求めています。5 行のバッファーで連結されます。その意味がわかりません。簡単な例を教えてください。

私ができる配列で

double[][] arr = new double[5][someNumber];

しかし、その場合、サイズは制限されると彼は言います。

DOUBLE バッファを使用することで彼が何を意味するのかわかりません。@C++ はあまり得意ではありません。

どうもありがとう、例はいいでしょう!

4

2 に答える 2

1

R行と列については、 をC宣言しdouble arr[R * C]arr[i * C + j]は cell の要素[i, j]です。

これは、任意の次元に一般化されます。

このように配列をフラット化することは、特に のような動的配列を使用する場合に、非常に便利な最適化になる可能性がstd::vectorあります。この場合、行ごとに 1 つではなく単一の動的配列を取得できます。

于 2012-10-24T02:28:05.423 に答える
0

言ってるように聞こえる

double *arr[5];
for(unsigned int x = 0; x < 5; ++x)
{
       arr[x] = new double[someNumber];
}

あなたは確かに5を持っていることを知っているので、未知の部分は、これがあなたがそれをどのように参照しているかということです.

于 2012-10-24T02:29:02.013 に答える