簡體   English   中英

c ++ boost :: multi_array索引太大了

[英]c++ boost::multi_array index too large

我正在使用二維boost :: multi_array來存儲自定義結構的對象。 問題是我有大量的這些對象,因此我需要的數組索引超出了整數的范圍。 是否有可能使用long作為多數組的索引,或者您是否有任何其他建議如何存儲這么大的數據集並仍以合適的速度保持可訪問性?

謝謝!

官方文檔指出索引類型未指定 ,但是查看存儲庫 ,可以看到定義最有可能是typedef std::ptrdiff_t index ;

因此,如果你編譯一個x86 32位系統,你肯定會耗盡可尋址的內存,所以有限的標記大小不是你真正的問題。 您唯一的選擇是選擇一個具有足夠內存的系統,該系統必須是一個超過2 ^ 32字節的系統,因此必須是64位。 2 ^ 64肯定足以代表多陣列的尺寸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM