2009-10-21 73 views
1

我做了一个结构数组来表示绘制的地图数据;但是我没有仔细检查它,直到它为时已晚:当我加载一个新的映射时,我得到了“内存不足的异常”(如果我尝试先创建一个新的数组结构),或者我搞砸了一个地图那需要很多重新编码才能使它正常工作(如果我只是初始化一个大的地图)......可能太多了。结构数组需要建议

所以现在我想知道是否有一个安全的方式来重新分配结构数组,因为当我这样做时,数据会被丢弃(即我不需要复制数据,只需调整数组大小并重置新数据从文件中)。

这可能安全吗? 或者我应该只是想使用别的东西,比如数组列表或列表? 我在这里需要的是基本上索引速度和阅读速度更多的东西。

+0

你是什么意思 “安全”?既然你扔掉了数据,你可能会不小心......除非你在谈论内存泄漏。请提供代码片段或更详细地解释。 – 2009-10-21 08:04:49

+0

请解释一下。为什么预先分配数组时会得到一个OOM,而不是以后创建它的ID? – 2009-10-21 08:27:05

回答

0

大型连续的内存块有时难以分配。考虑分配更多参差不齐的数据。访问时间会稍微降低,但您可以分配更多内存。

了解更多关于jagged arrays