2009-10-21 81 views
1

我做了一個結構數組來表示繪製的地圖數據;但是我沒有仔細檢查它,直到它爲時已晚:當我加載一個新的映射時,我得到了「內存不足的異常」(如果我嘗試先創建一個新的數組結構),或者我搞砸了一個地圖那需要很多重新編碼才能使它正常工作(如果我只是初始化一個大的地圖)......可能太多了。結構數組需要建議

所以現在我想知道是否有一個安全的方式來重新分配結構數組,因爲當我這樣做時,數據會被丟棄(即我不需要複製數據,只需調整數組大小並重置新數據從文件中)。

這可能安全嗎? 或者我應該只是想使用別的東西,比如數組列表或列表? 我在這裏需要的是基本上索引速度和閱讀速度更多的東西。

+0

你是什麼意思 「安全」?既然你扔掉了數據,你可能會不小心......除非你在談論內存泄漏。請提供代碼片段或更詳細地解釋。 – 2009-10-21 08:04:49

+0

請解釋一下。爲什麼預先分配數組時會得到一個OOM,而不是以後創建它的ID? – 2009-10-21 08:27:05

回答

0

大型連續的內存塊有時難以分配。考慮分配更多參差不齊的數據。訪問時間會稍微降低,但您可以分配更多內存。

瞭解更多關於jagged arrays