在c ++中保存和加载大型数组

han*_*dam 0 c++ arrays optimization file

我需要将一个大的3D整数数组保存到一个文件中,然后再用C++加载它.它是256*256*256 = 16777216个整数.

保存并再次加载它的最佳方法是什么?我最感兴趣的是快速加载时间.

lit*_*adv 8

如果数组是在连续的内存中分配的(即:你没有单独分配每个维度) - 你可以将整个内存块转储到文件中.它花费尽可能多,但这将是最小的开销(即:在整个数据块上调用二进制写入).

如果您在一个系统上保存并在另一个系统上加载,则可能存在数据表示问题,在这种情况下,您可能希望序列化阵列并将每个值保存在受控物质中.