目前,我有一個TCube
陣列陣列可能太大嗎?
CreateCube : array[1..1000] of tcube;
目前使用它們作爲一個地圖,這樣你可能有30個立方體寬,20個方塊高,從而使一個大網格。但是,1000立方體對於我所需要的並不足夠,我需要更多像10,000個立方體。
這樣大小的數組是否會導致問題出現?任何其他的選擇嗎?
目前,我有一個TCube
陣列陣列可能太大嗎?
CreateCube : array[1..1000] of tcube;
目前使用它們作爲一個地圖,這樣你可能有30個立方體寬,20個方塊高,從而使一個大網格。但是,1000立方體對於我所需要的並不足夠,我需要更多像10,000個立方體。
這樣大小的數組是否會導致問題出現?任何其他的選擇嗎?
在有些情況下大的陣列是有問題的兩種主要情況:
數組可以與內存允許的一樣大。但是,如果它是一個局部變量,或者如果您通過值將傳遞給某個方法,那麼請注意,您可以輕鬆地擺脫堆棧。
選擇正確的數據結構是我只能建議你的。它的很大一部分將取決於數組將如何填充。如果數組很大但只是輕度填充,則稀疏數組很可能會工作。
就我個人而言,我會編寫一個自定義列表類來包含TCube實例。與數組相比,這有幾個優點。首先,它會動態地消耗內存。其次,您可以添加其他方法來適應您的應用程序。
不會有問題,除非你沒有足夠的內存 – Sergio
所以在這種情況下,1000個立方體是在運行時創建的,所以當我創建它們時,它會使用更多內存?或通過定義數組,它的所有就緒創建立方體,我只是編輯內存時,我CreateCube [我]:= tcube.Create(self); –