0

整数の大きな3D配列をファイルに保存し、C++で再度ロードする必要があります。256 * 256 * 256=16777216整数です。

これを保存して再度ロードするための最良の方法は何ですか?私は主に速いロード時間に興味があります。

4

2 に答える 2

8

配列が連続したメモリに割り当てられている場合(つまり、各次元を個別に割り当てない場合)、メモリブロック全体をファイルにダンプできます。必要なだけの時間がかかりますが、それが最小のオーバーヘッドになります(つまり、データのチャンク全体に対してバイナリ書き込みを呼び出します)。

あるシステムに保存して別のシステムにロードする場合、データ表現に問題がある可能性があります。この場合、配列をシリアル化し、各値を管理された問題に保存することをお勧めします。

于 2012-04-11T20:39:10.863 に答える
1

Boost.Serializationに興味があるかもしれません。特に、(1)そのようなデータをディスクに簡単に保存する機能が必要な場合、(2)より複雑なオブジェクトを保存するための一貫した方法が必要な場合、および(3)移植可能なソリューションが必要な場合です。

于 2012-04-11T20:49:20.007 に答える