0

循環バッファーに保持する必要がある 2 次元の double があります。2 つの 1 次元バッファーについていくよりも、1 つのバッファーにまとめて保持することをお勧めします。これを簡単に行うことは可能ですか、それとも先に進んで 2 つのバッファーのみを使用するのが最善でしょうか?

4

1 に答える 1

0

各要素のサイズが同じになる場合、つまりD1 x D2の場合は、配列を割り当てるだけです。

double data[D1*D2*numElem]

行/列のメジャーインデックス(i * D2+jまたはi*D1 + j)を使用して、各要素内の値にアクセスします。もちろん、要素のサイズを変更したり、挿入/削除したりするときはいつでも、新しいバッファーを割り当てて値をコピーする必要があります。各要素のサイズが可変である場合、または挿入/削除/サイズ変更が一般的であると思われる場合は、2つのバッファーを使用してください。コンテナが安定していて、共通の要素に対する反復が行われる場合は、単一のバッファの方が適している可能性があります。

于 2012-08-18T14:56:38.090 に答える