0

type の配列がありCellます。これは 2D 配列です。特定の条件によっては、この配列のサイズを変更し、Cellオブジェクトを 1 行または 1 列下/右/左にシフトする必要がある場合があります。

プロトタイプ パターンを使用して、元の配列を別のより大きな配列にコピーすることを考えていました。

これは、単に配列のサイズ変更を行うよりも利点がありますか?

編集:自分の意図について言及していないことに気付きました。別のオブジェクトは本当に必要ありません。特定の条件に基づいて、より大きな配列が必要です。

4

2 に答える 2

1

これが役立つ唯一の理由は、浅いコピーを作成する場合です。コピーすると、新しいオブジェクトを作成するコストを節約できます。その反面Cell、配列内のすべてのオブジェクトは複数の2D配列間で共有されます。これで問題が発生する場合は、最初からアレイを作成することに戻る必要があります。

于 2013-01-23T13:49:43.150 に答える
1

短答No.

プロトタイプを必要とせずに問題を解決する代替ソリューションがあります。

セルを配列に格納しないでください。セルは行番号と列番号を認識していませんが、代わりに行/列に問い合わせます。これにより、すべての項目を更新しなくても、列を再配置できます。

配列を表し、指定された (x,y) 座標でセルを返すことができるコンテナー オブジェクトを用意します。配列がまばらな場合 (または適切なデフォルトがある場合)、欠落しているセルをデフォルトとして扱います。これにより、ストレージ コストが大幅に削減されます。列と行はコンテナーに属します。空の行または列を追加すると、行または列オブジェクトを挿入する場合になります。

于 2013-01-23T14:10:31.543 に答える