2017-08-15 64 views
-4

我們可以只在一個整數數組中存儲一個[10000000](10^7)的元素。是否有一種方法可以存儲更多的數據量。還有什麼是字符數組的最大尺寸。請原諒這個問題重複,我會刪除它。在C++中可以存儲在數組中的元素的最大數量是多少?

+3

你從哪裏得到10000000的數字?我認爲唯一的限制是可用內存。 – Carcigenicate

+0

「_我們可以在一個整數數組中只存儲一個[10000000](10^7)元素。」你從哪裏得到這樣的數字?如果數組的大小被分配爲具有自動存儲持續時間的變量,或者RAM的大小,如果它是動態分配的(通過使用'new','std :: vector' ,等等..),即使如此,還有操作系統的功能,如交換.. –

+0

@Carcigenicate全球聲明 – Mukesh

回答

2

在C++中可以存儲在數組中的元素的最大數量是多少?

理論上,上限爲std::size_t。該值是實現定義的。這適用於大小爲1(字節)的對象。您只能擁有大小爲2的對象的一半。整數類型的大小是實現定義的(窄字符類型除外)。

實際上,存在其他限制。這取決於存儲時間和系統。

自動變量的內存量在大多數系統上受到限制。究竟有多少取決於系統,並且有時可以配置,但是在桌面系統上,典型的默認值是一兆字節到幾兆字節。

靜態變量和動態對象通常沒有這樣的限制,上限是操作系統爲進程提供的主內存+交換空間量。其上限是系統上的內存+交換量減去其他進程和操作系統內核使用的內存量。

較大的數組可以存儲在磁盤上,並使用尋呼系統進行訪問。這些對象的上限受虛擬內存量,文件系統和可用存儲空間的限制。

相關問題